|Lassi Kortela 9851ce884c|
In Scheme, as in other Lisp dialects, "everything is an object". But Scheme is not "object-oriented" in the sense of classes and methods.
Various Scheme implementations have bolted an object system on top of standard Scheme. Most of these are variants of the Common Lisp Object System (CLOS) which evolved from an older Lisp Machine object system called Flavors. The Kawa and IronScheme implementations have Java and C# style object systems, respectively.
Existing Scheme object systems (CLOS-like)
Included since 1.9. Mainly inspired by Meroon.
- Ad-hoc polymorphism (generic functions and methods).
- Single inheritance and mono-dispatch.
From the manual:
GOOPS is the object oriented extension to Guile. Its implementation is derived from STk-3.99.3 by Erick Gallesio and version 1.3 of Gregor Kiczales’ Tiny-Clos. It is very close in spirit to CLOS, the Common Lisp Object System, but is adapted for the Scheme language.
STk and STklos
Existing Scheme object systems (other)