GSOC | Extending Common Lisp support
Charles Turner
chturne@gmail.com
Thu May 31 16:20:00 GMT 2012
Having perused the LOOP implementation of SBCL, I believe the
following CL features are required to implement it:
* packages - maybe not, but it will probably get tricky in terms of
collisions if this isn't available
* defmacro with both destructuring and environment keywords
* structures
* flet, labels
* some more iteration bits, we have DO, so things like DOTIMES,
DOLIST, etc should be a breeze.
* SBCL makes heavy use of tagbodies and GO's, RETURN-FROM, which I
don't have yet
* SBCL makes use of exceptions, maybe I can reuse the exception
handling stuff from Scheme, as this feature would probably require a
lot of wokr
* FUNCALL
* hash tables. OF course, this is already available, just needs plumbing in
* Maybe some more conditional exprs, like case, ecase, etypecase
Seems like quite of work to get done before the midterm, I'm not sure
how deep the packages, environment keywords, FLET or BLOCKS will go.
Am I missing something here? A lot of this could be avoided by writing
it in Java, but I'd like to draw the line somewhere in terms of what
should be kept as Java code, and what should be moved out into
language libraries.
Charles.
More information about the Kawa
mailing list