[net.micro.mac] Flavors for ExperLisp

seth@ucla-cs.UUCP (12/16/85)

A long time ago... I wrote a Flavors package for T (Yale dialect of
Scheme) which has been in use here at UCLA for the past few years.
Finally having some time to play with ExperLisp 1.04, I decided to
try a port and have achieved some success.

There were some minor constraints imposed by T on the original
implementation (some of which I consider features, of course) but
for the most part it is a reasonable subset of the tangled mess that
constitutes the Zetalisp flavor system.

My implementation provides:
define-flavor, define-method, undefine-method, send, make-instance,
describe-flavor, vanilla, (vanilla describe), (vanilla apropos),
(vanilla get-handler-for), and others.

It does not provide support for whoppers, wrappers, or other obscenities
that render code even more obscure.  The T implementation does not
allow instance variables to be used freely in method bodies, rather
they must be preceded by a readmacro (&).  Since EL doesn't provide
readmacros yet, this must be finessed which I'm working on now.  I happen
to like the idea of flagging instance variables because it makes it easier
to read someone else's code.

Anyway, the EL version is almost ready for beta-test (I'm specifically
interested in better error-handling because EL is particularly unforgiving
in this respect).  If you are interested in obtaining a copy, send me a
message and when I feel the code is sufficiently stable I will mail out
the source code.

What I am asking in return is that people respect the copyright notice
(i.e. do not try to sell this code as part of another system without
including the copyright notice and notifying me).  I would also ask
people to send me any bug reports, suggestions, and enhancements.

One final note, this implementation is primarily commonlisp so I expect that
it should either run directly in CL or require only minor modifications.
I will check this out when I get a chance.

Enjoy,
						Seth Goldman

ARPA:   seth@LOCUS.UCLA.EDU
UUCP:   ...!{ihnp4,cepu,trwspp,sdcrdcf,ucbvax}!ucla-cs!seth
USMail: A.I. Lab, 3531 Boelter Hall, UCLA, Los Angeles, CA  90024  
MaBell: (213) 825-5199