8 Expression Language
The expression language is inspired by the Scheme Programming Language defined in the IEEE Scheme standard, R4RS. The following specification is based on this definition.
The expression language differs from Scheme in a number of ways:

•  The expression language uses only the functional, side-effect free subset of Scheme. Features of Scheme that are not useful in the absence of side-effects have been removed (for example, begin).

•  The vector data type is not provided.

•  A character object is uniquely identified by its name rather than its code.

•  Dependencies in Scheme on the ASCII character set have been removed.

•  The number data type is a subtype of a more general quantity data type that adds the concept of dimension to a number.

•  Continuations are not provided.

•  Some optional features of R4RS are not provided.

•  The gcd and lcm procedures are not provided.

•  Keyword arguments are provided.
In addition, DSSSL specifies certain choices that the definition of Scheme leaves open to implementations.
A subset of the expression language, called the core expression language, is defined in section 8.6, Core Expression Language.