[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!)