Version 3 (modified by Mark Evenson, 11 years ago) (diff)


Make [LispObject] a Java interface, as God and Gosling intended

Make LispObject a Java interface, as God and Gosling intended. LispObject should be a union of superinterfaces (like HasPrintableRepresentation?, HasNumericTower?) for which the current code is abstracted into common implementations. Patches exist for some of from previous version. This project would first study that code, decide whether to bring those changes forward to abcl trunk or start from scratch, provide the implementation as a pluggable alternative to the current one, benchmark the differences, and write up the result in a short paper.

Just doing the above makes a nice summer project, but there is much more that could be done regarding portability , such as providing an implementation of LispObject that will work on .NET 9via IKBM) or Dalvik. Or Java7 with InvokeDynamic?. Or ...?

Design Notes

 easye:  I don't think that a
              unitary LispObject interface is a good idea:  I'd
              rathe see LispObject be union of interfaces
              (HasPrintableForm, HasNumericTower, etc.)  And
              provide a polished set of AbstractLispObjects
              (AbstractJavaLispObject, etc.) to work with.