This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.

Source for ticket #372

cc


    

changetime

2012-10-12 03:02:49

component

WG1 - Core

description

Submitter's Name:           Alan Watson
Submitter's Email Address:  alan at alan-watson dot org
Draft Version of Report:    6
Section of draft R7RS:      6.13.4 System interface

The draft R7RS follows the R6RS in specifying that `(exit)` is a normal exit, specifying that `(exit #f)` is an abnormal exit, and leaving the interpretation of arguments other than `#f` to the implementation.

I suggest that the R7RS should specify that `(exit #t)` is identical to `(exit)`. (Perhaps it would be clearer to state that `(exit #t)` is a normal exit and `(exit)` is identical to `(exit #t)`).

This allows the exit status to be handled more uniformly by code which might exit normally or abnormally. For example, in a compiler it is often useful to continue after a syntax error, but in this case one still wants to indicate an abnormal exit. If `(exit #t)` is specified as above, one simply has to keep track of whether an error has occurred in a boolean variable and then:

{{{
  (exit (not error-occurred))
}}}

rather than the more cumbersome:

{{{
  (if error-occurred
    (exit #f)
    (exit))
}}}

id

372

keywords


    

milestone


    

owner

cowan

priority

major

reporter

cowan

resolution

fixed

severity


    

status

closed

summary

Formal Comment: (exit #t) should be the same as (exit)

time

2012-03-29 04:59:48

type

defect

Changes

Change at time 2012-10-12 03:02:49

author

cowan

field

comment

newvalue


    

oldvalue

3

raw-time

1349985769242891

ticket

372

time

2012-10-12 03:02:49

Change at time 2012-10-12 03:02:49

author

cowan

field

resolution

newvalue

fixed

oldvalue


    

raw-time

1349985769242891

ticket

372

time

2012-10-12 03:02:49

Change at time 2012-10-12 03:02:49

author

cowan

field

status

newvalue

closed

oldvalue

accepted

raw-time

1349985769242891

ticket

372

time

2012-10-12 03:02:49

Change at time 2012-07-02 10:06:53

author

cowan

field

comment

newvalue


    

oldvalue

2

raw-time

1341198413618050

ticket

372

time

2012-07-02 10:06:53

Change at time 2012-07-02 10:06:53

author

cowan

field

owner

newvalue

cowan

oldvalue

alexshinn

raw-time

1341198413618050

ticket

372

time

2012-07-02 10:06:53

Change at time 2012-07-02 10:06:53

author

cowan

field

status

newvalue

accepted

oldvalue

new

raw-time

1341198413618050

ticket

372

time

2012-07-02 10:06:53

Change at time 2012-03-29 05:01:05

author

cowan

field

comment

newvalue


    

oldvalue

1

raw-time

1332972065511566

ticket

372

time

2012-03-29 05:01:05

Change at time 2012-03-29 05:01:05

author

cowan

field

summary

newvalue

Formal Comment: (exit #t) should be the same as (exit)

oldvalue

Formal Comment:

raw-time

1332972065511566

ticket

372

time

2012-03-29 05:01:05