[eurolisp] [ANN] Closer Project: New Releases

Pascal Costanza pc at p-cos.net
Thu Jan 19 22:12:55 UTC 2006


Today, I have released new versions of all the packages currently  
included in the Closer Project - see http://common-lisp.net/project/ 
closer/ for the project and http://p-cos.blogspot.com/2006/01/closer- 
project-new-releases.html for the announcement.

This project is an umbrella project for a few subprojects whose aim  
is to improve the usability of the CLOS MOP across different Common  
Lisp implementations. It is also the home of ContextL, a full-fledged  
CLOS extension in its own right providing language constructs for  
Context-oriented Programming (COP).

All packages now support the current versions of all supported Common  
Lisp implementations. They are:
• Allegro Common Lisp 7.0 Enterprise Edition.
• Allegro Common Lisp 8.0 Enterprise Edition.
• CLisp 2.35 - 2.37
• CMU Common Lisp 19c
• LispWorks 4.4.5, 4.4.6 for Macintosh, Personal Edition
• LispWorks 4.4.5, 4.4.6 for Macintosh, Professional Edition
• Macintosh Common Lisp 5.1
• OpenMCL 1.0
• SBCL 0.9.7, 0.9.8

Highlights of the new versions.

MOP Feature Tests 0.4:
• All previous known but untested problems have either been resolved  
or turned into actual tests.
• Added a test for checking whether the slot order requested by a  
primary method for COMPUTE-SLOTS is honored by a MOP. (Thanks to  
Christophe Rhodes for the suggestion.)
• Added a test for checking whether the object returend by COMPUTE- 
DISCRIMINATING-FUNCTION can be funcalled and whether the second  
parameter to SET-FUNCALLABLE-INSTANCE-FUNCTION can be a 'real' closure.
• Added a test for checking whether one can use one's own :ALLOCATION  
kinds.
• Added a test for checking whether a generic function without any  
methods defined can still be called.
• Added a test for checking whether a DEFMETHOD form can have  
multiple qualifiers.
• Added more fine-grained tests for checking SLOT-XXX-USING-CLASS  
functions.
• Added a test whether REINITIALIZE-INSTANCE on a class metaobject  
calls FINALIZE-INHERITANCE. Luckily, all implementations pass that test.

Closer to MOP 0.3:
• The supported Common Lisp implementations improved with regard to  
their support for the MOP, with varying extent. This required a few  
changes here and there.
• The lack of extensible :ALLOCATION kinds in Allegro Common Lisp, as  
specified in AMOP, is fixed. Thanks to John Foderaro for giving me  
the important hint on how to solve this.

ContextL 0.2:
• When rebinding special places, it is now checked whether they  
actually contain special symbols, so this is now a safe operation.  
This can be tweaked to omit the check for improved performance.
• Changing a non-special slot to a special slot in an already  
existing class is now also supported in Allegro Common Lisp from 7.0  
on. Thanks to Duane Rettig for fixing the related bug in Allegro and  
thereby enabling this feature.
• Improved parsing of layered methods: The :METHOD option in DEFINE- 
LAYERED-FUNCTION is now parsed and processed correctly. Furthermore,  
one can now optionally give a name to the otherwise anonymous layer  
parameter. This is useful for calling CALL-NEXT-METHOD with changed  
parameters.
• Added a new namespace for layers. Before, their names could  
accidentally clash with class names.
• Added a number of performance tweaks and better error messages.
• Fixed a few bugs.

Special thanks go to John Foderaro, Duane Rettig and Christophe  
Rhodes (in alphabetical order) for exceptional help.

Pascal

-- 
Pascal Costanza, mailto:pc at p-cos.net, http://p-cos.net
Vrije Universiteit Brussel, Programming Technology Lab
Pleinlaan 2, B-1050 Brussel, Belgium







More information about the eurolisp mailing list