Fear and loathing of the "perification" of Smalltalk

Damien Pollet damien.pollet at gmail.com
Thu Sep 13 18:23:15 UTC 2007


On 13/09/2007, Jason Johnson <jason.johnson.081 at gmail.com> wrote:
> On 9/13/07, Damien Pollet <damien.pollet at gmail.com> wrote:
> >
> > The metaprogramming job of macros is already done by the tools:
> > browser, refactorings, etc
> >
> > Macros in Lisp use the same syntax as functions. When you look at a
> > Lisp expression, you can't know which evaluation rules apply without
> > looking at the library. Some s-exprs are syntax, evaluated at
> > compile-time, some other are calls evaluated at runtime. It works in
> > the Lisp realm, but it doesn't fit in Smalltalk.

By "It" I was referring to macro- and function-call having the same
undiscernable syntax. In Smalltalk you can guess what something is
just by its lexical structure.

> That's not necessarily the case.  In Smalltalk the macros can be made
> to stand out (e.g. ##("macro") ).  And the big thing I see that would
> be nice to have macros is for language extentions.  Instead of having
> this surprising { } syntax extension we could have #{ } and the
> convention that # is the place you put language extensions.

Agreed, if macros are to be done in Smalltalk this is the way I prefer.

-- 
Damien Pollet
type less, do more [ | ] http://typo.cdlm.fasmz.org



More information about the Squeak-dev mailing list