On Sep 15, 2009, at 6:45 AM, Andre van Tonder wrote: > On Mon, 14 Sep 2009, Brian Mastenbrook wrote: > >> (define b 1) >> (begin >> (define a b) >> (define b 2)) -> error, attempt to use `b' before its definition > > This is certainly incorrect behavior in R5RS.
The question is: is this behavior sensible? Was the conflation of binding and mutation at the top-level into one syntax ever a good idea in the first place - especially when the SAME syntax is used only for binding elsewhere? Would anyone who is not doing "screwy" things with macros ever notice the difference? How often do you type (begin ...) at the REPL anyway? Wouldn't it be better if `define' *always* behaved as binding, and never as mutation? -- Brian Mastenbrook [email protected] http://brian.mastenbrook.net/ _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
