Hi Joseph,

> Hello,
> I have recently seen an interesting expansion of a syntax-rules macro whose 
> definition contained a reference to a expansition-style macro, specifically 
> an instantiate macro introduced by the object system. Here is a simplified 
> example:
>  (define-class foo
>    a)
> 
> (define-syntax darn
>    (syntax-rules ()
>       ((_)
>        (let ((a 1))
>           (instantiate::foo (a a))))))
> 
> (darn)
> Unexpectedly, at least to me, this expands to:
> (let ((a1019 1))   (instantiate::foo (a1019 a1019)))
> This results in an error because foo does not have a field named a1019. 
> Contrary to my expectations, is the expected behavior?
No, it's obviously not. I will see if I can fix that problem. Thanks for the
report.

-- 
Manuel

Reply via email to