Changes between Version 1 and Version 2 of GSoC2011/LispObject-as-java-interface:

02/18/11 08:43:01 (11 years ago)
Mark Evenson



  • GSoC2011/LispObject-as-java-interface:

    v1 v2  
    1 Make LispObject? a Java interface, as God and Gosling intended.
     1=Make [!LispObject] a Java interface, as God and Gosling intended =
    3 LispObject as interface thing                                                                 
    4               makes a great summer project.                                                             
    5               Especially if you make it a semi-pluggable object                                         
    6               with the contemporary architecture, write benchmarks,                                     
    7               and write up the results.
    9  A don't think that a
     4Make 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. 
     6Just 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 ...?
     9== Design Notes ==
     13 easye:  I don't think that a
    1014              unitary LispObject interface is a good idea:  I'd
    1115              rathe see LispObject be union of interfaces
    1317              provide a polished set of AbstractLispObjects
    1418              (AbstractJavaLispObject, etc.) to work with.
    17 Then factor the existing code into a Java5/6 implementation of LispObject?. Then, provide an implementation of LispObject? that will work on .NET and/or Dalvik.