See object-oriented-programming before the remainder of this page.
There are several common libraries for Scheme & particular Scheme implementations that claim to be 'object systems,' for varying definitions of 'object system.'
- Tiny-CLOS is Gregor Kiczales's variant of CLOS, the Common Lisp Object System, for quite portable Scheme. It implements a hierarchical class-based structure, a meta-object-protocol, and multiple dispatch, i.e. type dispatch occurs on every argument of a generic function invocation. There are several libraries & entire Scheme implementations based on it, including Eli Barzilay's Swindle, Gauche's object system, STklos, and MIT-Scheme-SOS and Meroon? to name a few.
- - Meroon? is another CLOS variant by Christian Queinnec, with a class-based hierarchy, multiple dispatch, and very much syntactic sugar. It is very static, however, in comparison to most CLOS variants; it is designed mostly with the intent of making compiler optimization easier at a high expense of the generally dynamic nature of most CLOS variants.
- GOOPS is GNU Guile's standard Object System. Its implementation is derived from STk-3.99.3 by Erick Gallesio and version 1.3 of Gregor Kiczales Tiny-Clos. It is designed in the spirit of tiny-clos, CLOS and stklos. It has multiple inheritance, generic functions with multi-method dispatch and a meta-object-protocol in the spirit of CLOS.
- YASOS is Ken Dickey's 'Yet Another Scheme Object System,' composed entirely of simple method dispatch for individual objects and nothing more. It is based on T's object system.
- OakLisp is a mixture of Scheme and Smalltalk. Everything is an object, methods are added for one type (so no multiple dispatch).
- ClosureTalk is a simple smalltalk like object system that uses closures to encapsulate data and methods
- LispMeObjects for LispMe. Written by Don Wells. It is a very minimal system, provides encapsulation and inheritance. is available at http://www.c2.com/cgi/wiki?LispMeObjects