Is there a reason why the macro below results in an error? Is a
keyword something other than a symbol? Thanks, -Josh.
CHICKEN
Version 2.731 - macosx-unix-gnu-x86 - [ manyargs dload ptables
applyhook ]
(c)2000-2007 Felix L. Winkelmann | compiled [ . . . ] (Darwin)
; loading /Users/josh/.csirc ...
; loading /usr/local/lib/chicken/3/readline.so ...
#;1> (require-extension simplify)
; loading /usr/local/lib/chicken/3/simplify.so ...
; loading /usr/local/lib/chicken/3/codewalk.so ...
#;2> (define (print-keyword #!key keyword) (print keyword))
#;3> (print-keyword keyword: "hello world")
hello world
#;4> (define-macro (print-keyword-macro value) `(print-keyword ,
(string->symbol "keyword:") ,value))
#;5> ,x (print-keyword-macro "hello world")
(print-keyword keyword: "hello world")
#;5> (print-keyword-macro "hello world")
Error: unbound variable: keyword:
Call history:
<syntax> (print-keyword-macro "hello world")
<eval> (##sys#list (quote print-keyword) (string->symbol "keyword:")
value)
<eval> (string->symbol "keyword:")
<syntax> (print-keyword keyword: "hello world")
<eval> (print-keyword keyword: "hello world") <--
#;5>
_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users