objects/README.md

52 lines
1.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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](https://www.gnu.org/software/guile/manual/html_node/GOOPS.html):
> 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