Go to file
Lassi Kortela 9851ce884c Add Guile 2023-06-18 11:28:24 +03:00
scripts Add scripts 2022-08-03 23:40:50 +03:00
.gitignore Add first draft 2022-08-03 23:41:45 +03:00
README.md Add Guile 2023-06-18 11:28:24 +03:00

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