> > Here's my proposal: > > I think R5RS/R7RS provides too much generality and should be clawed back. > The implementations which allow `set!` on unbound identifiers actually > don't make the identifiers contain unspecified values. For example, > we don't have implementations whose initial state binds `foo` to `'foo` > and `bar` to `'bar`, or anything of the sort. Nor do they come back with > `#<undef>` or silence. Instead, an error is signalled when you attempt > to evaluate `foo` and `bar`. > > What I'd like to do is to drop this language altogether and just say (as > we already do) that it's an error to set an undefined identifier. Then we > can add a note saying that some implementations extend the standard by > automatically defining any undefined identifier before setting it. > This language belongs with `set!`. >
That sounds great. Of course, I come from MIT Scheme, which doesn't allow `set!' before `define'. It would be interesting to hear from someone who uses an implementation that does.
_______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
