[Larceny-users] Object systems and macro transformers

TJ tjay.dreaming at gmail.com
Tue Mar 6 07:41:50 EST 2007

On 3/6/07, William D Clinger <will at ccs.neu.edu> wrote:
> > 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.

Ah well then I guess I'll just take your advice then. Those procedures
seem like a nice way to create a brand new "base language" to program
in, though. e.g. I could write a completely object-oriented Scheme
based on an add-on OO library and the predefined non-oo procedures. I
despise having for-each and table-for-each and array-for-each, etc

> 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.

I defer to thee of greater knowledge ;-)

> 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.

Ah so you're planning on implementing R6RS. I can't remember what was
in the draft specification, but it seemed the R6RS module system would
be very much "static". No top-level defines and such... I hope this
doesn't make things difficult for people like me who would like to
program interactively, rather than edit-compile-run a bunch of text
files. But perhaps that discussion would be better carried out in the
r6rs list...



More information about the Larceny-users mailing list