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] |
* Per Bothner [2010-10-17 23:53] writes: > Nice - I'd like to include this in gnu/kawa/slib. A couple of issues: > > (1) I need some kind of copyright statement (as part of the source file): > preferably either that you're releasing the code to the public domain, > or you're assigning copyright to me on behalf of the Kawa project. Attached is an updated version with public domain tag and updated with IfExp accessors. > (2) I was trying to figure out if there is a standard name for this kind > of function. SRFI-96 http://srfi.schemers.org/srfi-96/srfi-96.html does > have macroexpand, but only in the context of supporting defmacro. I see that > Guile has a macroexpand, but I haven't found the documentation, and it > doesn't seem to do as much. Racket has expand-syntax and related forms, > but these yield syntax objects, not sexprs. Common Lisp has macroexpand, > but it doesn't seem like it does a full expansion - just at the toplevel. > > The name macroexpand is fine - I just wonder if someone knows if other > Schemes > use a different name. It's called expand in Chez, Ikarus and Scheme48. > (3) We should have at least a handful of test-cases to make sure I > don't inadvertently break macroexpand, given that it reaches into > implementation internals. Also attached. Helmut
Attachment:
macroexpand.scm
Description: application/emacs-lisp
Attachment:
macroexpand-tests.scm
Description: application/emacs-lisp
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |