Lassi Kortela 9851ce884c | ||
---|---|---|
scripts | ||
.gitignore | ||
README.md |
README.md
Objects
Overview
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)
Meroon
Queinnec93
Bigloo
Included since 1.9. Mainly inspired by Meroon.
- Ad-hoc polymorphism (generic functions and methods).
- Single inheritance and mono-dispatch.
- Introspection.
Gauche
Guile
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.
MIT Scheme
STk and STklos
Existing Scheme object systems (other)
Kawa
Java compatible
IronScheme
C# compatible