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.

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