On Tue, 24 Feb 2009, Christian Sloma wrote: > On Tuesday 24 February 2009 21:01:58 Andre van Tonder wrote: >> On Tue, 24 Feb 2009, Christian Sloma wrote: >>>> Where is the burden on macro-free programs? (This is not meant to be >>>> argumentative---I am genuinely trying to understand this criticism). >>> >>> Just one example: R6RS disallows the mixing of expression and definitions >>> in libraries. >> >> This restriction has nothing to do with macros, though. Expressions could >> have been allowed easily, as you will see if you consider that even in R6RS >> you can get the effect of an interleaved expression by simply making it the >> RHS of a dummy definition. > > Note that it *has* to be inside a define, as the define marks the body to be > delayed until all off the other definitions are evaluated.
The expansion process for <library body> could have been declared to be exactly the same as the expansion process for <top-level body>, which allows interleaved expressions that are not inside a define. The fact that it wasn't so defined was just an arbitrary design choice. _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
