7.1.2 External representations

Datum is what the read procedure (see Input) successfully parses. Note that any string that parses as an expression will also parse as a datum.

datum  simple datum | compound datum
    | label=datum | label#
simple datum  boolean | number
    | character | string | symbol | bytevector
symbol  identifier
compound datum  list | vector | abbreviation
list  (datum*) | (datum+ . datum)
abbreviation  abbrev prefix datum
abbrev prefix  ' | ` | , | ,@
vector  #(datum*)
label  #uinteger 10