Tony Arcieri wrote:
> On Tue, Feb 24, 2009 at 11:04 PM, Mike Gold 
> <mike.gold.4433 / gmail.com>wrote:
> 
>>
>> The parentheses are there for power: code is data, data is code.  When
>> evaluated as a language only, putting aside external issues such as
>> mindshare, it is an objective statement to say that lisp is more
>> powerful than any language which does not have the code-data
>> equivalence.

> Homoiconicity doesn't afford power so much as simplicity.  Using parse
> transformations in Ruby requires learning what the Ruby parser's "sexps"
> look like, whereas in Lisp you write your code directly in those sexps 
> so there is no disconnect.

No, it is more than convenience or simplicity.  See below.

> Once you have the Ruby parser's sexps, the same class of transformations 
> are still available, as they are in any language which allows you to
> programatically retrieve parser output and invoke the compiler from 
> within the language itself.

Aha! Now we are getting somewhere.  How are you going to get the
sexps?  You could convert your source to sexps, but then what?  How
will you relate the sexps to the running code?  If someone gives you a
Method instance, how will you find its sexp?  Or if your sexp says how
Foo.bar was defined, how do you know the definition has not changed
during run-time?  Or when you are inside a method, how can you get the
sexps of the argument expressions before they were passed?

> However, for day-to-day programming tasks I find code in sexp form
> harder to read (and write) than code in a more complex grammar which
> is able to express the same idea with fewer tokens and less
> syntactic noise.
> 
> Lisp is certainly better optimized for macros, but in my opinion
> Ruby is better optimized for day-to-day use and readability.

I said earlier that I was leaving subjective issues aside.  Lisp
programmers eventually do not see parens, so your subjective
assessment does not apply to them.

If you look at my posting history, you'll see that I do ruby.
-- 
Posted via http://www.ruby-forum.com/.