Meroon: an Object System in Scheme
Meroon is an Object-Oriented System written in Scheme. Meroon V3 is
the actual release (available since 1993) and has been ported to
various Scheme systems:
PC-Scheme, PC-Scheme/Geneva, Vscm, MIT-Scheme,
Meroon-V3 now works with MzScheme, EdScheme... Meroon-V3 also
supports DSSSL keywords in Meroon special forms as well as in generic
functions. See also Meroon nicely
bound to Gambit (Many thanks to
Brad Lucier for that fine work).
The distinctive features of Meroon were:
All objects of Scheme can be seen as Meroon objects (even
vectors) without restriction on inheritance.
CLOS-like generic functions. New generic functions and methods
can be added on previousy defined classes. Generic functions can
have a multiple arity and support multi-methods.
Self-description features: classes are Meroon objects and can be
inspected. It is also possible to design new metaclasses.
Meroon is portable (this constrained a lot its design).
A new instantiation protocol (handling co-instantiation).
Meroon is really fast.
The source files of Meroon
are available. You can also directly browse the documentation of Meroon or a
research paper explaining
parts of the implementation (and mainly how are compacted dispatchers).
A lightened version of Meroon exists, named Meroonet, in a single
file, without libraries nor complex bootstrap. Meroonet is fully
described in the LiSP book.
Despite its pedagogical aspect, Meroonet is as fast as Meroon-V3
and only lacks many bells and whistles.
F A Q
The name `Meroon' stands for nothing; it was the name of my son's teddy bear.
A mailing list exists to discuss Meroon and Meroonet aspects (don't
be shy, the level of exchanged messages is really reasonable):
You can subscribe by sending a message to
These are links to some works made with Meroon:
Building Domain-Specific Environments for Computational Science:
A Case Study in Seismic Tomography.
CS 615: Numerical Methods for Partial Differential Equations.
Updated by Christian.Queinnec@lip6.fr
$Id: Meroon.html,v 1.28 2003/01/22 19:59:22 queinnec Exp $