This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: CL implementation questions


On 20 April 2012 04:43, Jamison Hope <jrh@theptrgroup.com> wrote:
> The reason that your DECLARE implementation doesn't do the right thing
> for (let () (declare (pair x)) (invoke x 'getCar)) is because

Thanks for the explanation Jamison, that's much more clear for me now :)

> I haven't looked into it all that closely, but it seems like THE -- in
> the simple case -- should more-or-less translate to a checkcast or
> coerce after the FORM. Maybe see how these get compiled:

Both methods appear to compile to equivalent bytecodes. I can start
quickly by pretending THE is equivalent to AS, since all that's
required is:

defProcStFld("the", "gnu.kawa.functions.Convert", "as");

I see nothing stopping all of PrimOps.scm being rewritten in CL now
(most of it is done).

Once the bug with DECLARE's scope handling is sorted, would it be best
to try and make THE fully compatible with the spec? Or to get more
CLTL1 functionality done in CL, filling in holes as deep as they need
to be filled in order to proceed? (For instance, I only need DECLARE
to work with types for the time being, full compatibility with the
CLHS for DECLARE looks rather daunting)

Cordially,
Charles.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]