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