macros / code construction (and assignment)

David Ungar David.Ungar at Eng.Sun.COM
Fri Sep 29 20:41:39 UTC 1995


Try http://www.glyphic.com/glyphic/codeworks/intro.html
for a pointer to Glyphic.

As far as macros, I agree that Lisp needs them and
that the block syntax in Smalltalk and Self
(as well as the OO-ness) means that
these languages do not need them.
Where I'm not sure I have been clear is in
expressing my opinion that macros cause so
many other problems that I think
it is far better to address the need with
blocks, etc and do without them.
So I would not want to bring macros in
to any of these languages.
But that's just my vote.



At 7:45 PM 9/29/95, Rainer Blome wrote:
>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.
>
>Rainer

-- Dave





More information about the Self-interest mailing list