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.

Ticket 156: Replace "an error is signalled" with "an implementation-dependent object is raised as if by `raise`"

2012-10-05 12:11:59
WG1 - Core
cowan
major
cowan
fixed
source
closed
2011-04-17 05:55:06
defect

The following situations are described in draft 1 (and R5RS) with "an error is signalled":

  1. The file-spec given to call-with-input-file, call-with-output-file, open-input-file, or open-output-file represents a file that cannot be opened.
  1. An end of file is read from a port by read after the beginning of an object's external representation, but the external representation is incomplete and therefore not parsable.

I propose that in both cases the implementation be required to raise an exception as if by applying raise (that is, non-continuably) to an implementation-defined object, which means it can be caught by the R7RS exception system. Note that there is no requirement to create a fresh object.

I like the general idea. I might also suggest that the language signally an error be considered synonymous with raising an appropriate condition using raise.

resolution␣␣
statusnewdecided

We voted to make this clear.

owneralexshinncowan
statusdecidedwriting
resolution␣fixed
statuswritingclosed