On Tue, Aug 28, 2018 at 3:01 AM Mark H Weaver <[email protected]> wrote:


> In RnRS, (define a (if #f #f)) is allowed and guaranteed to assign
> *some* object to 'a' without signalling an error.


Actually, the phrase used is "the result is unspecified", which
unfortunately
is not defined in any RnRS.  Racket produces a syntax error in this
situation
at least in its default language.


> However, it's not
> specified what object will be assigned.  It could be 2 or (foo bar) or
> "the cow jumps over the moon".
>

In practice, it is #t, #f, (), or a unique unspecified object across all the
Schemes I have tested, most often the last.

-- 
John Cowan          http://vrici.lojban.org/~cowan        [email protected]
LEAR: Dost thou call me fool, boy?
FOOL: All thy other titles thou hast given away:
That thou wast born with.

Reply via email to