[plt-scheme] Lightweight object system

From: Dave Griffiths (dave at pawfal.org)
Date: Tue Sep 4 10:13:13 EDT 2007

Excuse my ignorance here (and as a bit of an aside), what are the main
benefits to class systems over closures with local state as described in
the SICP chapter 3?
(http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-20.html#%_sec_3.1)

I've managed to use these quite well as they are, including a cobbled
togther way of doing inheritance and method overriding/passing through.

My guess is that more advanced things become possible and cleaner with
some macro extensions - is this true, and if so, what are they?

cheers,

dave

> Hi Erich,
>
> The first implementation of ROOS was fully R5RS. It still is to
> a large degree. However, not all scheme implementations have
> the advanced macro capabilities that have been described in R5RS,
> although thay claim to be R5RS. So, I eventually resorted to a PLT
> implementation.
>
> I think, with little effort it should be possible to restore the
> implementation
> to a R5RS one (especially x-roos.scm is important).
>
> --Hans
>
>
> Op 4/9/2007 schreef "Erich Rast" <erich at snafu.de>:
>
>>Hi,
>>
>>I'm looking for a leightweight object system with all or some of the
>>following features:
>>
>>- preferably supports multiple inheritance
>>- "traditional" (i.e. not prototype-based or other less common
>>approaches)
>>- preferably pure R5RS
>>- simple and small
>>- fast (might be used in a realtime scenario later)
>>
>>I like ROOS and will perhaps use it, but it's PLT Scheme only at the
>>moment. It might not be hard to port it to another dialect if needed,
>>though.
>>
>>What else would you recommend?
>>
>>Best,
>>
>>Erich
>>_________________________________________________
>>  For list-related administrative tasks:
>>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>>
>>
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>


http://www.pawfal.org/dave/



Posted on the users mailing list.