In the following sections, there will be many function descriptions. On the
first line of each description, there is a `function prototype' –
a function name and formal arguments enclosed in parentheses. If some
part of function name is TYPE
, SUBTYPE
, ANCHOR
or HANGER
,
then there
is a set of functions which can be obtained by replacing the string
with the appropriate terms (for example, make-SUBTYPE
is a shorthand for
function names make-segment
, make-quadratic-bezier
and
so on).
On the second line, there is a `type signature'. For each argument, there is a permitted type (the name of the type or type signature enclosed in parentheses in case of a functional argument). The `+' character is used to union two type sets. Valid values are Scheme type names, VRR type names (proxy, o, obj, go, anchor, hanger and terms of types and subtypes), `any' (means anything), `false' (#f) and `specific' (for specific permitted values, which depend on the function). String `unspecified' is valid only as a return value (in case that the return value has no meaning). Characters `[' and `]' are used to specify optional arguments (and their types), `...' can be used to specify that the structure of arguments is described in function description.