This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Initial projects list


Greg Harvey <Greg.Harvey@thezone.net> writes:

> Object system: progress?

Mikael Djurfeldt and Christian Lynbech are working on an object system
for Guile.  It is called GOOPS (Guile Object Oriented Programming
System) and is basically a port of STKlos + modifications in the
tiny-clos direction.  For those who aren't familiar with STKlos and
tiny-clos, GOOPS is an OOP system based upon generic functions with
multi-method dispatch and multiple inheritance.

It is up and running now but release won't happen until four things
are finished:

1. Modifications in the tiny-clos direction.

STKlos is trying to be close to Common LISP's CLOS, which, among other
things, means that a class or a generic function is basically
represented by it's name.  As in tiny-clos, GOOPS is instead centered
around objects.  (Compare with the representation of functions: In
LISP you pass the name (a symbol) of a function to a higer-order
function.  In Scheme you pass a procedure object.)

(It should be noted that these differences aren't visible on the
"surface".  Goops is still compatible with many STKlos programs.)

2. Automatic generation of smob classes.

3. Goops is dependent on some code which needs to be added to
guile-core.  This code currently lives on a CVS branch.  This branch
needs to be merged into the trunk.  (It would be good if this happened
before release 1.3.2.)

4. Documentation

/mdj