Looks like the only necessary primitive is something like ##namespace-resolve
Hi,On Monday 26 March 2012 at 18:10, Alex Queiroz wrote:
On Mon, Mar 26, 2012 at 6:01 PM, Marijn <hkBst@gentoo.org> wrote:I would be interested in knowing how this proposal compares withimplementing a low-level hygienic macro system such as syntacticclosures or explicit renaming macros. Actually now that I said thatthis proposal sounds very much like a (partial?) implementation ofexplicit renaming macros on top of the defmacro system. Doesn't thepaper you referenced mention something like that as well?I would rather have syntactic closures as well.Syntactic closures are much more complex, both conceptually and in practise to implement. The purpose of the designed outlined in this proposal is to not require to augment the language with a highly complex new identifier type that is distinct from symbols.With this proposal, no new data type is required. You can write macros that only accept pure s-expressions (as they are parsed) as input, and only return pure s-expressions (that are pretty-printable without losing information, so it's easy to understand exactly what the return value means)The paper contributionseems to be focused on the fact that it's possible to write hygienicmacros on top of unhygienic macros and symbol macros, which is whatCommon Lisp has. Besides it says that a code walker is not needed, butthat is not a necessity if the macro system would be integrated inGambit.It is true that the paper is written in that context. I believe its ideas are more broadly applicable than what the paper describes.Cheers,Per
_______________________________________________
Gambit-list mailing list
Gambit-list@iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list