This is the mail archive of the kawa@sources.redhat.com 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]

Re: macro expansion bug?


On Thu, Nov 14, 2002 at 11:04:58AM -0800, Per Bothner wrote:
> Wen-Chun Ni wrote:
> 
> > Is it a bug? Or my understanding of syntax-rules still leaves
> > something to be desired?
> 
> Looks like the handling of (quote x) within macros may be wrong.
> I've found R5RS unclear in this respect in the past.  I'll take
> another look.  Maybe the attempts of the macro machinery to
> "understand" quoatation is unneeded - but I suspect not.

I can't even finish section 4.3 of R5RS. However, when I read 
"Syntactic Abstraction in Scheme", syntax-rules is obviously
a special form of syntax-case with syntax acting as the 'quote'.
The regular Scheme's (quote x) doesn't "block" the "evaluation"
in this case because the symbol 'result' here is a pattern 
variable. The paper's explanation (page 9) in the paragraph after

   (syntax template)

said that 
(quote

A syntax form returns a Scheme object in much the same way as quote
or quasiquote, with two important differences: the value of pattern
variables appearing within template are inserted into template ....
)

If I read it correctly, the x in (quote x) must be evaluated by 
the expander if x is a pattern variable.

It's a pity that I am new to both Kawa and Scheme. Otherwise, I'll
try to help because, in larger scale, I do think syntax-case and
related things like datum->syntax-object  need to be implemented
in order for the macro system to be useful. However, as a sole
maintainer, Per is obviously overworked. I can't ask much.



Wen-Chun


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]