[Larceny-users] Object systems and macro transformers

William D Clinger will at ccs.neu.edu
Tue Mar 6 06:40:44 EST 2007


TJ wrote:
> 1. Are there any object systems for Larceny? Preferably CLOS style
> systems. If not, how do I adapt tinyclos for use in Larceny?

There are many object systems for Scheme, and some of
them have been ported to Larceny.  I'm not sure which
ones are available or best supported, so I'll let
someone else answer this question.

> 2. How do I use the procedure (environment-set-macro! ...) ?

Don't.  That procedure is Larceny-specific, and will
probably go away in the moderately near future.  It
exists and is documented primarily for the developers
of Larceny itself; that section of the documentation
should be more emphatic about the importance of not
using those procedures in user code.  The statement
that environments "are occasionally useful" in user
code really means environments are hardly ever useful
in user code, should be considered only by advanced
programmers, and even then only as a last resort.

The error you reported was caused by your use of
syntax-rules in an illegal context.  I can guess
why you thought syntax-rules would work in that
context, but the conceptual model that led you to
believe syntax-rules would work in that context
bears scant resemblance to the ugly reality.  Your
mental model may be close to the R6RS model; when
Larceny adopts that model, environment-set-macro!
will no longer work as it does now, and it will
be safer for everyone just to make it go away.

Will



More information about the Larceny-users mailing list