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. For a version of this page that may be more recent, see StandardConditionPredicatesCowan in WG2's repo for R7RS-large.

Standard­Condition­Predicates­Cowan

cowan
2010-08-30 07:03:36
6Added constructorshistory
source

Standard condition predicates, accessors, and constructors

Conditions created by an implementation are opaque objects as far as this proposal is concerned; they may be any Scheme object such as a list, a vector, or a record. However, a variety of constructors, predicates, and accessors are provided in order to help programs create and/or examine implementation-specific conditions. If a predicate returns #t on a particular condition, the related accessor(s) will return information, hopefully meaningful and useful. Otherwise, calling the accessors has undefined effect. It is common for more than one predicate to return #t on a particular condition. The constructors allow user programs to create conditions that answer to the related predicates and constructors.

Returns #t iff condition contains a string message describing the condition to humans, otherwise #f.

Returns the message associated with message-condition.

Returns #t iff condition contains a string or symbol describing the object which is the source of the exception, otherwise #f.

Returns the who object associated with who-condition.

Returns #t iff condition contains a list of objects providing additional information about the condition, otherwise #f.

Returns the list of irritants (possibly empty) associated with message-condition.

Creates a condition which answers #t to who-condition?, message-condition?, and error-condition?.

Returns #t iff condition describes an exceptional situation that is caused by something that has gone wrong in the interaction of the program with the external world or the user, otherwise #f.

Creates a condition which answers #t to external-condition?. The args have implementation-dependent meaning.

Returns #t iff condition describes an exceptional situation that is a violation of the language standard or a library standard, typically caused by a programming error, otherwise #f.

Creates a condition which answers #t to violation-condition?. The args have implementation-dependent meaning.

Returns #t iff condition describes an invalid call to a procedure, such as passing an invalid number of arguments or passing an argument of the wrong type, otherwise #f.

Creates a condition which answers #t to invocation-condition?. The args have implementation-dependent meaning.

Returns #t iff condition describes a violation of an implementation restriction that is allowed by the specification, otherwise #f.

Creates a condition which answers #t to implementation-restriction-condition?. The args have implementation-dependent meaning.

Returns #t iff condition is reporting that storage is exhausted, otherwise #f.

Creates a condition which answers #t to storage-exhausted-condition?. The args have implementation-dependent meaning.

Returns #t iff condition describes a lexical syntax error or an error in parsing a datum, otherwise #f.

Returns the string which could not be parsed.

Creates a condition which answers #t to parse-condition?. Parse-string is the string which could not be parsed. The args have implementation-dependent meaning.

Returns #t iff condition describes a syntax error, otherwise #f.

Returns the form containing a syntax error.

Returns the subform which more precisely locates the syntax error.

Creates a condition which answers #t to syntax-condition?. The args have implementation-dependent meaning. Form and subform are the form containing a syntax error and the form containing a syntax error respectively.

Returns #t iff condition describes an undefined identifier, otherwise #f.

Returns the identifier which is undefined as a symbol.

Creates a condition which answers #t to identifier-condition?. Identifier is a symbol representing the identifier which is undefined. The args have implementation-dependent meaning.

Returns #t iff condition describes a problem with a port, otherwise #f.

Returns the port associated with port-condition.

Creates a condition which answers #t to port-condition?. Port is the port associated with the condition. The args have implementation-dependent meaning.

Returns #t iff condition describes an exceptional situation with I/O, otherwise #f.

Creates a condition which answers #t to i/o-condition?. Port is the port associated with the condition. The args have implementation-dependent meaning.

Returns #t iff condition describes an exceptional situation with input, otherwise #f.

Creates a condition which answers #t to read-condition?. Port is the port associated with the condition. The args have implementation-dependent meaning.

Returns #t iff condition describes an exceptional situation with output, otherwise #f.

Creates a condition which answers #t to write-condition?. Port is the port associated with the condition. The args have implementation-dependent meaning.

Returns #t iff condition describes an attempt to set a port's position invalidly, otherwise #f.

Returns the position specified by the user.

Creates a condition which answers #t to position-condition?. Port is the port associated with the condition. The args have implementation-dependent meaning.

Returns #t iff condition has a filename associated with it, otherwise #f.

Returns the filename associated with filename-condition as a string.

Creates a condition which answers #t to filename-condition?. Filename is the name of the file associated with the condition. Port is the port associated with the condition. The args have implementation-dependent meaning.

Returns #t iff condition describes a file protection violation, otherwise #f.

Creates a condition which answers #t to file-protection-condition?. Filename is the name of the file associated with the condition. Port is the port associated with the condition. The args have implementation-dependent meaning.

Returns #t iff condition describes the existence or nonexistence of a file, otherwise #f.

Returns #t if the filename associated with file-existence-condition exists but should not, or #f if it does not exist but should.

Creates a condition which answers #t to filename-condition?. Filename is the name of the file associated with the condition. File-exists? specifies whether the file exists or not. Port is the port associated with the condition. The args have implementation-dependent meaning.