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


Thanks for your time Jamison.

My second iteration is attached. Just supports the the proper DECLARE
syntax and an optional TYPE symbol, the framework is in place for
further expansion of DECLARE now.

On 4 April 2012 23:16, Jamison Hope <jrh@theptrgroup.com> wrote:
> On Apr 4, 2012, at 2:37 PM, Charles Turner wrote:
>> I had to override Translator#checkDefaultBinding to get type lookups
>> working. As with the rest of this patch, it's not nice, just
>> exploration.
>
> I have a feeling we'll find that some functionality currently found in
> kawa.standard.Scheme (such as getNamedType) ought to be pulled out into
> something more readily usable by other languages.

I think most of the type stuff in Scheme would be better at a higher
level in the inheritance chain. Most of the type in the type<>name
(and vice versa) could be reused with CL, there's also a lot of
overflap with the defProcStFld stuff. The two remaining problems I
have is that a) rewrite_body is doing a fair bit of work twice
(scanBody). I could refactor Translator#rewrite_body so that you can
call another rewriter which expects its input to have already been
scanned. And b) musch of the stuff in
SchemeCompilation#checkDefaultBinding could be used from other Lisps
too, IIUC.

Charles.

Attachment: declare.diff
Description: Binary data


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