> 3) Imports, or macros that expand into them, are allowed in a module > only at the beginning, before any expressions or definitions. They may > be used at any time in the REPL, but they must not be embedded in any > other form (except begin).
You don't find it horribly kludgy for Scheme to behave differently in different contexts? In my opinion the single biggest wart in Scheme is that DEFINE isn't allowed anywhere. The metacircular evaluator can handle it anywhere, so there's nothing wrong with the semantics; the restriction is just an efficiency hack. I don't expect to convince anyone to change that, certainly not in this standardization effort, but I don't want any more such warts added. I would sooner junk modules /and/ macros, if it came to that, than have to remember special-case rules of this ilk. The rules and the meaning that some construct has at the REPL should be the only rules and the only meaning that that construct has in Scheme, period. If the WG2 fans can't live with this principle, then that's reason enough to abandon the idea of compatibility between WG1 and WG2. Imho of course. _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
