> Say I have a set of definitions, and only want three of them: a, b, and c,
> visible to a section of code
Well, I confess that this is a good argument for first class environments.
The natural way to express this would be something like
(define-uplevel a a)
where define-uplevel would be a /simple/ macro manipulating environments.
Second choice would be a non-special-form DEFINE (i.e., evaluating its first
argument), with which you could have a module return an alist of bindings that
the caller would then (again a simple macro) define in its own environment.
Or, (I'm making this up as I go along) perhaps I don't need a different
DEFINE if my macros can take the alist of bindings and construct a bunch of
ordinary DEFINEs from it. (But maybe that requires non-hygienic macros?)
PS Of course I use LET. You're being sarcastic, right? I have nothing
against simple syntactic sugar. I use apostrophe instead of (QUOTE ...) too.
There's nothing about LET that requires a huge jump in the complexity of the
semantics of the language, to one that includes phases.
_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss