12 The Built-In Functions
The functions described below are annotated either as an open generic function or as a function.
A function specified as an open generic function can be extended through the addition of programmer defined methods. The signature of the generic function constrains which methods can be added through the congruency rules described on page 91. The signature does not imply a set of predefined methods. For example, the signature of
(<object>, <object>), but the predefined methods on
+ only cover subtypes of
<number>. Particular behavior of the function is given in its description and in the description of its methods.
A function specified as a function cannot portably be extended through the addition of methods. Implementations are free to implement these functions as open generic functions, but programs that take advantage of such liberality will not be portable. The signature of such a function specifies the type domain of the function, but does not necessarily imply that the function is applicable to all instances of the types. The exact behavior of the function is given in its description.
Implementations are allowed to define these generic functions and functions with signatures that are less restrictive than those given below. However, programs that take advantage of this liberality will not be portable.
Where a sealed domain is specified, implementations are free to seal the domain or leave the domain unsealed. Portable programs should not rely on the domain being unsealed.
When a method is specified, it describes the behavior of a generic function when applied to arguments of particular types. It does not imply that this behavior is implemented by a single method.
Generated with Harlequin WebMaker