Re: Comments on draft 6 Arthur A. Gleckler (24 Feb 2012 05:10 UTC)
Re: [Scheme-reports] Comments on draft 6 John Cowan (24 Feb 2012 05:40 UTC)
Re: Comments on draft 6 Arthur A. Gleckler (24 Feb 2012 05:47 UTC)
Re: [Scheme-reports] Comments on draft 6 John Cowan (24 Feb 2012 06:09 UTC)
Re: Comments on draft 6 Arthur A. Gleckler (24 Feb 2012 06:12 UTC)
Re: [Scheme-reports] Comments on draft 6 Aaron W. Hsu (24 Feb 2012 23:27 UTC)
Re: [Scheme-reports] Comments on draft 6 Andy Wingo (24 Feb 2012 12:35 UTC)
Re: [Scheme-reports] Comments on draft 6 Jussi Piitulainen (24 Feb 2012 12:53 UTC)
Re: [Scheme-reports] Comments on draft 6 Andy Wingo (24 Feb 2012 14:54 UTC)
Re: [Scheme-reports] Comments on draft 6 Jussi Piitulainen (24 Feb 2012 15:23 UTC)
Re: [Scheme-reports] Comments on draft 6 Andy Wingo (24 Feb 2012 16:24 UTC)
Re: [Scheme-reports] Comments on draft 6 Aaron W. Hsu (24 Feb 2012 23:41 UTC)
Re: [Scheme-reports] Comments on draft 6 Aaron W. Hsu (24 Feb 2012 23:34 UTC)
Re: [Scheme-reports] Comments on draft 6 Andy Wingo (25 Feb 2012 18:00 UTC)
Re: [Scheme-reports] Comments on draft 6 Marc Feeley (24 Feb 2012 15:55 UTC)
Re: [Scheme-reports] Comments on draft 6 John Cowan (24 Feb 2012 21:22 UTC)
Re: [Scheme-reports] Comments on draft 6 Aaron W. Hsu (25 Feb 2012 00:28 UTC)
Re: [Scheme-reports] Comments on draft 6 John Cowan (25 Feb 2012 07:28 UTC)

Re: [Scheme-reports] Comments on draft 6 John Cowan 24 Feb 2012 05:40 UTC

Arthur A. Gleckler scripsit:
> Thank you.  This helps, but it's still not clear enough.  I've filed Ticket
> #350 <http://trac.sacrideo.us/wg/ticket/350> to make sure that we improve
> this language.

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!`.

--
Let's face it: software is crap. Feature-laden and bloated, written under
tremendous time-pressure, often by incapable coders, using dangerous
languages and inadequate tools, trying to connect to heaps of broken or
obsolete protocols, implemented equally insufficiently, running on
unpredictable hardware -- we are all more than used to brokenness.
                   --Felix Winkelmann