CL implementation questions
Charles Turner
chturne@gmail.com
Tue Mar 27 23:33:00 GMT 2012
Hi,
I don't understand how the CL namespace gets setup. I see in
CommonLisp that several Scheme libraries are pulled in
(prim_syntax.scm & friends) as well as a start on CL (PrimOps.scm) but
none of these symbols appear to be available in the global namespace.
For instance, (defun foo (x) (+ x 1)) works fine, but typing "defun"
yields a unbound location error. Why is that?
It's mentioned in PrimOps.scm that it should be written in CL, but for
that's not possible yet due to a lack of CL support. Is the correct
approach to build some primitive transformers for CL (as in
prim_syntax.scm) and then rewrite the stuff in PrimOps.scm with them?
I don't understand why the %define-syntax & define-syntax methods are
required, I assume for bootstrapping purposes, but I've yet to see the
forest for the trees (sadly the Makefiles have failed to evince the
process for me).
I plan on adding a new Kawa type for Java arrays to avoid the
getClass().isArray() dance when implementing sequences. I can't find
the mail, but I remember Jamison talking about this. Once the new type
is added to LangObjType, where in the package hierachy would the
implementation go? gnu.lists?
Thanks for your time,
More information about the Kawa
mailing list