A self-explanatory snippet: #> (define-macro (foo) "foo") #> (foo) "foo" #> (define foo 1) #> foo Error: invalid syntax in macro form: foo #> (foo) "foo" #>
That's without the -hygienic flag. With the -hygienic flag, foo is redefined as 1 as you would expect. Now for my question for the BDFL: when do you think error checking is important? When is an unchecked argument a bug and when is it a performance feature? I would prefer it if everything checked its arguments and gave an informative error message rather than garbage output or something like "Error: (car) bad argument type: 1" when the erroneous input finally reaches a function that checks its arguments 3 stack frames down. But my performance needs are not very demanding, and since you went for fast and dangerous and disabled argument checks in SRFI-14 (leading to erroneous output if you give some functions bad arguments, which I almost reported before realizing that checks were purposely disabled), it's obvious that my opinion is not unanimous. I don't want to waste my time or yours with bogus "bug" reports. Reed Sheridan _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
