43 lines
874 B
Markdown
43 lines
874 B
Markdown
|
# 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
|
||
|
|
||
|
### MIT Scheme
|
||
|
|
||
|
### STk and STklos
|
||
|
|
||
|
## Existing Scheme object systems (other)
|
||
|
|
||
|
### Kawa
|
||
|
|
||
|
Java compatible
|
||
|
|
||
|
### IronScheme
|
||
|
|
||
|
C# compatible
|