Per Bothner wrote:
> Sam TH wrote:
>> Thinking about this a little more, it seems like it would run into
>> some trouble with `local-expand' [1,2].  You might be able to just say
>> that we delay the expansion of `lambda' bodies 'as long as possible',
>> but that that point it seems like we're not gaining very much.
>>
>> [1] 
>> http://docs.plt-scheme.org/reference/stxtrans.html#(def._((quote._~23~25kernel)._local-expand))
>> [2] http://www.ccs.neu.edu/scheme/pubs/scheme2007-ctf.pdf , Sections 3.4 and 
>> 4
> 
> I'm afraid I don't have time to fully understand the way-too-many forms
> of PLT macros, so I can't really tell if local-expand would be a
> problem.  Off-hand, I don't understand why:  If the expanding a lambda
> body is deferred, and the lambda body contains a local-expand, then the
> local-expand gets deferred.
> 
> But if someone is looking for an example of "the macro tail wagging
> the Scheme dog" this may be it ...

I see this more as the macro tail wagging the macro expansion dog, which 
seems appropriate.

Brian Harvey suggested the Steering Committee adopt

    a policy that if the needs of macrology conflict
    with the needs of traditional macro-free Scheme
    practices, it should be the macro standard that
    has to jump through hoops to fix it, not the core
    Scheme part of the standard.

I just do not see where, if programming without the use of macros (this 
example has already rejected the assumption), one has to jump through 
hoops or deal with a muddled standard because of the concerns induced by 
macros.  I think R6RS did a good job in making macro-free programming 
independent of the concerns that must be addressed when programming with 
macros.  It further does a good job of separating the concerns that must 
be addressed with rewriting macros (syntax-rules) and procedural macros 
(syntax-case).  The latter is an inherently difficult problem involving 
phase semantics, but if you choose not to use the syntax-case library, 
you can safely ignore phasing, `for' clauses, etc.

Where is the burden on macro-free programs?  (This is not meant to be 
argumentative---I am genuinely trying to understand this criticism).

David


_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to