Next: Record Classes, Previous: Class Datatype, Up: Classes
sos provides a rich set of predefined classes that can be used to specialize methods to any of Scheme's built-in datatypes.
This is the class of all Scheme objects. It has no direct superclasses, and all other classes are subclasses of this class.
This is the class of instances. It is a direct subclass of
<object>
. The members of this class are the objects that satisfy the predicateinstance?
.
These are the classes of their respective Scheme objects. They are all direct subclasses of
<object>
. The members of each class are the objects that satisfy the corresponding predicate; for example, the members of<procedure>
are the objects that satisfyprocedure?
.
This is the class of generic procedure instances. It is a direct subclass of
<procedure>
.
These classes specify additional method objects with special properties. Each class is a subclass of
<method>
.
The following are the classes of Scheme numbers. Note that
object-class
will never return one of these classes; instead it
returns an implementation-specific class that is associated with a
particular numeric representation. The implementation-specific class is
a subclass of one or more of these implementation-independent classes,
so you should use these classes for specialization.
These are the classes of the Scheme numeric tower.
<number>
is a direct subclass of<math-object>
,<complex>
is a direct subclass of<number>
,<real>
is a direct subclass of<complex>
, etc.
These are the classes of exact numbers.
<exact>
is a direct subclass of<number>
,<exact-complex>
is a direct subclass of<exact>
and<complex>
, and in general, each is a direct subclass of preceding class and of the class without theexact-
prefix.
These are the classes of inexact numbers.
<inexact>
is a direct subclass of<number>
,<inexact-complex>
is a direct subclass of<inexact>
and<complex>
, and in general, each is a direct subclass of preceding class and of the class without theinexact-
prefix.