On Wed, Feb 27, 2008 at 8:42 AM, Peter Wright <[EMAIL PROTECTED]> wrote: > #;1> (use syntax-case) > ; loading /usr/local/lib/chicken/3/syntax-case.so ... > ; loading /usr/local/lib/chicken/3/syntax-case-chicken-macros.scm ... > #;2> (define-macro (alpha x y) `(beta ,y ,x)) > #;3> (macroexpand '(alpha 1 2)) > (beta (quote 2) (quote 1)) > #;4> (macroexpand-1 '(alpha 1 2)) > (alpha 1 2) > #f > #;5>
I suspect that syntax-case is messing with things. You don't need it for lowlevel macros. This is what I get, without syntax-case: CHICKEN Version 3.0.0rc1 - linux-unix-gnu-x86 [ manyargs dload ptables applyhook ] (c)2000-2008 Felix L. Winkelmann compiled 2008-01-22 on cleo (Linux) ; loading /home/graham/.csirc ... #;1> (define-macro (alpha x y) `(beta ,y ,x)) #;2> (macroexpand '(alpha 1 2)) (beta 2 1) #;3> (macroexpand-1 '(alpha 1 2)) (beta 2 1) #t when I include syntax case, and define a new version of the macro: #;4> (use syntax-case) ; loading /usr/local/lib/chicken/3/syntax-case.so ... ; loading /usr/local/lib/chicken/3/syntax-case-chicken-macros.scm ... ... #;9> (define-macro (al x y) `(be ,y ,x)) #;10> (macroexpand-1 '(al 1 2)) (al 1 2) #f Graham _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
