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

Re: [Scheme-reports] Formal Comment: (exit #t) should be the same as (exit)

Alan Watson scripsit:

> Formal Comment

Ticket #372 filed for the Formal Comment; ticket #373 filed for the change.

I support this proposal.

Stefan Edwards scripsit:

> Should it perhaps be similar to what is defined in section 6.3 (i.e.
> similar to if's <Test>)?
> " Of all the Scheme values, only #f counts as false in condi- tional
> expressions. All other Scheme values, including #t, count as true "
> and leave it as implementation defined if the value passed to exit is
> actually returned to the OS/system below Scheme.

I don't support this, because process exit is not like Scheme truth.
In a process exit, there is only one kind of success (0 in Posix/Windows,
"" in Plan 9, 2 in VMS, etc.), whereas there are many kinds of failure.
So #t should map to conventional success, #f should map to some kind of
failure, and any other object should be (as far as possible) passed to
the OS.

A poetical purist named Cowan           [that's me: cowan@x]
Once put the rest of us dowan.          [on xml-dev]
    "Your verse would be sweeter        http://www.ccil.org/~cowan
    If it only had metre
And rhymes that didn't force me to frowan."     [overpacked line!] --Michael Kay

Scheme-reports mailing list