From: William D. Gooch
Subject: Re: Parenthesized syntax challenge
Date: 
Message-ID: <goochb.33.00091211@rwi.com>
In article <·····················@expernet26.expernet.com> ········@expernet26.expernet.com (Peter Ludemann) writes:
>I don't understand what you're saying here.  If you're saying that
>Lisp (and Prolog!) programmers can easily get at the source for their
>programs in an easily manipulated form, and can turn easily
>manipulated data structures into programs, you're right.  Smalltalk
>programmers seem to be short-changed on that (although I seem to
>remember a "compile" method)...

>Lisp syntax per-se isn't what gives the easily manipulated form,
>although having a syntax in which programs look just like data
>structures helps (both Lisp and Prolog have this; Smalltalk doesn't,
>AFAIK).

Well, Smalltalk's syntax is not so much of a problem; it's really
more that the structure surrounding the syntax is not directly a 
language data structure as in Lisp.  However, it's not hard to
generate, manipulate, compile and execute code from Smalltalk 
code.

>....
>Because Smalltalk, C, Java, etc. programmers don't have access to the
>entire source in a convenient form, it's much harder for them to build
>sophisticated preprocessors, without cranking up something heavy,
>using yacc/lex.  (Lisp programmers do get a reasonable macro expansion
>facility.)

Again, while Smalltalk isn't as nice as Lisp in this regard, it's not 
bad.  The source is accessible, and there is (in VisualWorks at 
least) a customizable code parsing facility provided as well.  It's
not Lisp macros, but ...