[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

# Introduction

SOS is a Scheme object system derived from Tiny CLOS (1), which in turn was loosely derived from CLOS, the Common Lisp Object System. Its basic design and philosophy is closely related to Tiny CLOS, but there are differences in naming and interface.

This document is a reference manual, and as such does not attempt to teach the reader about object-oriented programming. It is assumed that you already have a passing familiarity with CLOS and with Scheme.

In the procedure descriptions that follow, certain argument names imply restrictions on the corresponding argument. Here is a table of those names. The parenthesised name in each entry is the name of the predicate procedure that the argument must satisfy.

class
  The argument must be a class (`class?`).

instance
  The argument must be an instance (`instance?`).

name
  The argument must be a symbol (`symbol?`); sometimes this is also allowed to be `#f` (`false?`).

generic-procedure
  The argument must be a generic procedure (`generic-procedure?`).

method
  The argument must be a method (`method?`).

specializer
  The argument must be a method specializer (`specializer?`).

procedure
  The argument must be a procedure (`procedure?`).

slot
  The argument must be a slot descriptor (`slot-descriptor?`).

> 1. Classes |  |
> 2. Instances |  |
> 3. Slots |  |
> 4. Generic Procedures |  |
> 5. Methods |  |
> 6. Printing |  |

[ << ] | [ >> ] |  |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

This document was generated by Chris Hanson on March, 7 2002 using texi2html