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 #496

cc


    

changetime

2013-07-07 03:20:44

component

WG1 - Core

description

Göran Weinholt writes:

  These paragraphs are from R6RS:

    The standard libraries whose exports are described by this document are said to be safe libraries. Libraries and top-level programs that import only from safe libraries are also said to be safe.

    As defined by this document, the Scheme programming language is safe in the following sense: The execution of a safe top-level program cannot go so badly wrong as to crash or to continue to execute while behaving in ways that are inconsistent with the semantics described in this document, unless an exception is raised.

  Contrast that with this paragraph from R7RS-small draft 9:

    For example, it is an error for a procedure to be passed an argument of a type that the procedure is not explicitly specified to handle, even though such domain errors are seldom mentioned in this report.  Implementations may signal an error, extend a procedure's domain of definition to include such arguments, or fail catastrophically.

  Formalising catastrophic failure as an acceptable evaluation strategy is not a good idea.  I also believe it conflicts with this requirement from the WG1 charter: "Semantics compatible with interactive read/eval/print loops should be provided."

id

496

keywords


    

milestone


    

owner

alexshinn

priority

major

reporter

cowan

resolution

wontfix

severity


    

status

closed

summary

Catastrophic failure should not be acceptable

time

2013-05-12 23:44:12

type

defect

Changes

Change at time 2013-07-07 03:20:44

author

cowan

field

comment

newvalue

The WG decided by unanimous consent to take no action on this ticket.

oldvalue

2

raw-time

1373142044410382

ticket

496

time

2013-07-07 03:20:44

Change at time 2013-07-07 03:20:44

author

cowan

field

resolution

newvalue

wontfix

oldvalue


    

raw-time

1373142044410382

ticket

496

time

2013-07-07 03:20:44

Change at time 2013-07-07 03:20:44

author

cowan

field

status

newvalue

closed

oldvalue

new

raw-time

1373142044410382

ticket

496

time

2013-07-07 03:20:44

Change at time 2013-05-12 23:47:27

author

cowan

field

comment

newvalue

There is no reason to allow safety to trump all other concerns at all times, any more than there is reason to allow performance to do so.  Not mandating safety allows implementations to trade off safety for performance for the sake of users and programs who need that performance.  This can be done either by a safety setting in a single implementation, or by allowing pervasively unsafe, yet conformant, implementations to be created.

oldvalue

1

raw-time

1368377247791939

ticket

496

time

2013-05-12 23:47:27