>
> 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

Reply via email to