Hi,
Objective-CL 0.1.1 has been released today.
Quick download:
http://matthias.benkard.de/objective-cl/releases/objective-cl-0.1.1.tar.gz
* What's new?
** CLOS integration
Even though work on supporting the definition of new classes is still
ongoing, Objective-CL now correctly maps Objective-C classes to CLOS
classes. Objective-C metaclasses are likewise mapped to CLOS
metaclasses.
Class and metaclass naming follows the convention introduced by
Clozure CL. For instance, NSMutableDictionary's CLOS name is
NS:NS-MUTABLE-DICTIONARY, while its metaclass' name is
NS:+NS-MUTABLE-DICTIONARY.
There is one wart left in the mapping: +NS-OBJECT's metaclass is a
fake metaclass called ++NS-OBJECT. As far as I can tell, +NS-OBJECT's
metaclass ought to be +NS-OBJECT itself, which the CLOS MOP apparently
makes impossible (CHANGE-CLASS of metaobjects is not allowed).
** Clozure CL compatibility
Clozure CL used to complain about not being able to externalise
pointer wrappers (such as instances of the classes ID and SELECTOR).
This has been fixed by providing a method on MAKE-LOAD-FORM for these
classes.
** GNU CLISP compatibility
Objective-C wrapper object finalisation now takes care of removing
finalised wrappers from the global caching hash tables. This makes
CLISP happy. Therefore, it has stopped crashing upon trying to run
the test suite.
So, what happened to 0.1.0? Well, the short answer is, I tagged a
development version 0.1.0 without running the unit tests first. After
I had realised what I had done, it was too late: I had already pushed
the tag to the repository. As I didn't want anyone to suffer
repository corruption, I decided to simply make the next release
version 0.1.1.
The tag is still there, of course, so if you're extremely curious
about what 0.1.0 would have looked like had it been released, feel
free to take a look. It's not that pretty a sight, though. ;)
Have fun,
Matthias