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

Reply via email to