Ray Dillinger scripsit: > This approach (import as a runtime binding form) completely > eliminates the need for additional machinery such as cond-expand > etc, which can be WG2-only. All WG1 needs is a general, runtime > import procedure (not syntax) and a module-available? predicate.
That's not import, it's load. Nobody (or any rate not me) is proposing to remove load from R5RS, though I have put it in a feature group^W^Wmagic module. But people can ignore magic modules. In any case, cond-expand is useful even if you only use load; it provides a method of discovering what's been loaded, per REQUIRE/PROVIDE in CLtL1. > This is a fundamental tension between WG1 and WG2, I think. For WG1 > we want the ultra-simple language we can get by removing all the > restrictions and treating everything orthogonally. For WG2, you want > the restrictions for the sake of static reasoning/discoverability/etc, > and therefore need a bunch of additional complications not needed in > (but probably compatible with) WG1. I understand where you are coming from, but I don't think R7RS is going to look like that. Instead, there will be (per the charters) a contravariant relationship: every Thing One program is a Thing Two program, and every Thing Two implementation is a Thing One implementation. -- John Cowan [email protected] http://ccil.org/~cowan Rather than making ill-conceived suggestions for improvement based on uninformed guesses about established conventions in a field of study with which familiarity is limited, it is sometimes better to stick to merely observing the usage and listening to the explanations offered, inserting only questions as needed to fill in gaps in understanding. --Peter Constable _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
