Next: Record Classes, Previous: Class Datatype, Up: Classes [Contents][Index]
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 predicate instance?
.
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 satisfy
procedure?
.
This is the class of generic procedure instances. It is a direct
subclass of <procedure>
.
This is the class of method objects. It is a direct subclass of
<instance>
.
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 the
exact-
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 the
inexact-
prefix.
Next: Record Classes, Previous: Class Datatype, Up: Classes [Contents][Index]