macros / code construction (and assignment)

Rainer Blome rainer at
Fri Sep 29 18:45:45 UTC 1995

Dave, you wrote:

> [...] working with a computer is about the direct & immediate
> manipulation of stuff
Right.  Right.  Right.

> and macros seem silly.

Not always.  The way I use them in Lisp, they make for better readability
of code.  I admit that learning to write macros is difficult.  So
silly or not not depends on the base language.  As you say:

> After all, the base language already lets me extend the behavior of the
> computer, adding a second step, another execution model, just complicates
> things. In this school, you hope that the syntax is bearable enough not
> to need extension [...]

And that's the point, the difference between Self and Lisp, exactly.  The
symbol `lambda' alone renders Scheme code with blocks alias closures hard
to read and discourages their widespread use.  That's why Lisp just _needs_
special forms.  You solved this by substituting a different brand of
parentheses for the symbol.

> As far as assignment is concerned-- [...]  But my favorite treatment of
> this area may well be Glyphic's, by Mark Leczner (sp?).

Any _net_ pointers?

> Rainer, I will leave you with one last thought--
> my worst mistakes have always resulted from being too clever.

That's a good one, thank you for it.


More information about the Self-interest mailing list