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 wiki Optionality version 1

author

cowan

comment


    

ipnr

98.14.172.204

name

Optionality

readonly

0

text

This is an explanation of what's optional in IEEE and R5RS Scheme, grouped for ease of understanding.

=== Not present in IEEE, required in R5RS ===

Laziness: `delay, force, eager`

Macros: `define-syntax, let-syntax, letrec-syntax`

Lists: `list-ref, list-tail`

Strings: `list->string, string->list, string-copy, string-fill!`

Vectors: `list->vector, vector->list, vector-fill!`

Multiple values: `call-with-values, let-values, let*-values, values`

Eval: `eval, null-environment, scheme-report-environment`

=== Not present in IEEE, optional in R5RS ===

Arithmetic: Subtraction and division with more than two arguments

REPL: `interaction-environment`

Files: `with-input-to-file, with-output-to-file`

Loading: `load`

=== Optional in both IEEE and R5RS ===

Inexact rationals: `exp, log, sin, cos, tan, asin, acos, atan, sqrt`

Complex numbers: `angle, imag-part, magnitude, make-polar, make-rectangular, real-part`

time

2010-04-22 00:18:48

version

1