[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-users] Macros that return defines are non-hygienic
From: |
John Cowan |
Subject: |
[Chicken-users] Macros that return defines are non-hygienic |
Date: |
Tue, 28 Jul 2009 02:33:57 -0400 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
address@hidden:~$ rlwrap csi
CHICKEN
(c)2008-2009 The Chicken Team
(c)2000-2007 Felix L. Winkelmann
Version 4.1.1 - SVN rev. 15267
linux-unix-gnu-x86 [ manyargs dload ptables applyhook ]
compiled 2009-07-26 on jcowan-laptop (Linux)
#;1> (define-syntax Foo (syntax-rules () ((Foo) (define foo 1))))
#;2> (Foo)
#;3> foo
1
#;4>
The name "foo" is introduced inside a hygienic macro, and should not
be visible outside the macro. This bug does not manifest for internal
defines within macros.
--
We are lost, lost. No name, no business, no Precious, nothing. Only empty.
Only hungry: yes, we are hungry. A few little fishes, nassty bony little
fishes, for a poor creature, and they say death. So wise they are; so just,
so very just. --Gollum address@hidden http://ccil.org/~cowan
- [Chicken-users] Macros that return defines are non-hygienic,
John Cowan <=