You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Yes, this is a bug as witnessed in:
"(define-module foo
(export bar)
(define baz 42)
(define-syntax bar
(syntax-rules ()
((bar . stuff) baz))))
(import foo)
(baz 101)" -> what's a 'baz'?
The dependencies of macros should be stored in their own environments, just
like in closures,
instead of relying on bindings in some later state of the toplevel.
Original comment by aohelin on 15 Apr 2010 at 8:09
Should just inline the values to the macro rewrite rules. Surprisingly this has
not affected any programs, and the macro expander will probably be rewritten
anyway a bit later, so will pushing this for some later time.
Original comment by aohelin on 22 Sep 2010 at 1:45
this is also a feature, since the macros work this way in r5rs scheme. should
still consider to break this and make the behavior more owlish by having the
macros remember their environment, and probably override, or at least fill, any
necessary bindings from there.
Original issue reported on code.google.com by
aohelin
on 2 Apr 2010 at 2:44The text was updated successfully, but these errors were encountered: