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