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] |
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] |