On Sat, 2009-09-05 at 14:15 -0700, Thomas Lord wrote:
> So, if your lisp lacks hygienic macros but as first
> class environments and defmacro - you can likely
> do hygienic in a library.
>
> Would one approach be better than the other?
> I would only say that first class environments are
> a natural fit for most interpretation strategies,
> that they can be given a nice clean semantics,
> and that they are a more general purpose tool
> than hygienic macros.
I agree wholeheartedly. I consider first class environments
more fundamental as a computing tool than hygienic macros,
and would rather have them in the core language than hygienic
macros.
Hygienic macros are a benefit that can be had from compile-time
expansion without first-class environments, or from runtime
expansion with first-class environments. Scheme's specification
of hygienic macros as opposed to first-class environments came
after long and acrimonious discussion about the effects of
first-class environments on compilability and is, I believe,
a case of performance optimization being valued over expressiveness
and generality.
I do not believe that hygienic macros should ever be removed from
the scheme specification; only that, when first-class environments
are added (which eventually they ought to be) the semantics of
hygienic macros should be defined in terms of them.
Bear
_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss