On Tue, Mar 16, 2010 at 4:56 PM, Axel Rauschmayer axel@rauschma.de wrote:
Sounds really cool.
Long-term, is it conceivable to use a meta-class for improved Java integration? (External) Java classes would be instances and ABCL classes that are instances would be compiled to .class files. Obviously, instances of this meta-class would only be able to dispatch on the first argument.
Too complicated? Doable?
We already have a sort of metaclass to represent Java classes and do CLOS dispatch on them.
You cannot instantiate it, and you cannot use it as the metaclass of user-defined classes.
Having (make-instance (find-class "com.xxx.MyClass")) work is not that hard imho (and probably Erik's implementation of metaclass support in our CLOS will help).
Having user-defined classes use java-class as the metaclass is harder. CLOS has a number of things (like change-class and class redefinition) which aren't easy to map to Java classes. Given that we want to have runtime Java class generation (or do we have it already?), it'll probably be easier to just provide a tiny layer on top of that to dump the byte[] to a .class file.
Alessio