[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[scheme-reports-wg1] Re: [Scheme-reports] Proposed compromise on #68 "unspecified value(s)"



Aaron W. Hsu scripsit:

> >         If a syntax form or procedure is specified as returning an
> >         undefined value, it is an error to store this value in a
> >         location or attempt to output it onto a stream.
> 
> This would break many existing Schemes and I don't think it's going to  
> help us any. It's more invasive than multiple, unspecified values, and I  
> don't see it as giving us any benefits. We've already voted that all of  
> the built-in procedures return a single unspecified value, I don't think  
> we need to hammer this out further, despite the fact that I wish we had  
> gone with the R6RS approach of allowing unspecified values instead of just  
> a single value.

"It is an error" does not mean "an error is signalled".  It's perfectly
fine for existing or future Schemes to store or output an undefined
value; it just isn't portable to do so.  So it is not invasive and breaks
nothing except user code like

        (define x (set! y 32))

which has no portable meaning in any case (it will not work in Racket, e.g.).

-- 
Where the wombat has walked,            John Cowan <cowan@x>
it will inevitably walk again.          http://www.ccil.org/~cowan
   (even through brick walls!)