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 ItIsAnError version 1

author

cowan

comment


    

ipnr

74.68.121.27

name

ItIsAnError

readonly

0

text

Here's a list of places where R7RS-small says something "is an error".

1.3.2 procedure domain errors

1.3.3. reuse of auxiliary syntax

1.3.3. violation of start-end constraints

2.4 non-numeric datum labels

2.4 forward references in datum labels

2.4 recursion in datum labels

2.4 circular code

3.4 violations of immutability

4.1.1 references to undefined variables

4.1.3 `()` as code

4.1.4. repeated variables in `lambda` lists

4.1.6 `set!` of unbound variable

4.2.1 `=>` in `cond` or `case` doesn't accept one argument

4.2.1 duplicated `case` keys

4.2.2 repeated variables in `let`, `letrec`, `let-values`, `let-values*` lists or equivalent internal variable definitions

4.2.2 direct recursion in `letrec` or `letrec*` or equivalent internal variable definitions

4.2.2 mismatch between `let-values` formals and returned values

4.2.4 repeated variables in `do`

4.2.6 non-parameter in `parameterize`

4.2.8 `unquote-splicing` of a non-list

4.2.9 uncaught case in `case-lambda`

4.3.1 repeated keywords in `let-syntax`

4.3.2 non-identifiers in `syntax-rules`

4.3.2 repeated pattern variable in `syntax-rules`

4.3.2 unhandled syntax in `syntax-rules`

4.3.2 unreconstructible `syntax-rules` output

5.2 unknown identifiers in `only`, `except`, `rename` import specs

5.2 importing an identifier more than once with different bindings

5.2 redefining or mutating imported bindings

5.2 referring to unimported identifiers

5.3.3 duplicate variables in `define-values`

5.4 use of a syntax keyword before its definition

5.4 hopelessly muddled or ambiguous definitions

5.5 duplicate field names in records

5.5 undefined field name in record constructor

5.5 invoke record accessor or mutator on record of wrong type

6.2.3 use anything but an exact integer as a container index

6.2.6 division by exact 0

6.2.7 unusual conversion radix

6.2.7 impossible conversion from number to string

6.4 `car` or `cdr` of non-list

6.4 `list-ref`, `list-set!`, `list-tail` invalid index

6.4 alist is not an alist

6.4 attempt to copy a circular list

6.5 mutating symbol names

6.7 violate forbidden-character restrictions

6.7 `string-ref`, `string-set!` invalid index

6.7 attempt to convert non-character to string or to fill string with non-character

6.7 violate `string-copy!` restrictions

6.8 `vector-ref`, `vector-set!` invalid index

6.8 violate `vector-copy!` restrictions

6.9 `bytevector-u8-ref`, `byte-vector-u8-set!` invalid index

6.9 violate `bytevector-copy!` restrictions

6.9 invalid UTF-8 byte sequences in `utf8->string`

6.10 mapping procedures must accept as many containers as are available

6.10 lists being mapped must not all be circular

6.10 mapping procedures must not mutate inputs

6.10 `call/cc` must accept one argument

6.10 `with-exception-handler` handler and thunk arguments must accept a condition object and no arguments respectively

6.13.1 procedure passed to a call procedure must accept one argument

6.13.1 trying to get a string or bytevector out of a port that is not a string or bytevector port

6.13.2 attempt operations on a closed port

6.14 file names must be strings

6.14 attempt to mutate command-line strings

6.14 indecipherable environment variable

6.14 attempt to mutate environment variables or values or features

7.1 identifier starting with a combining character

time

2012-12-19 15:35:13

version

1