On 9/27/05, Jim Freeze <jim / freeze.org> wrote:
> On 9/27/05, Ben <benbelly / gmail.com> wrote:
> >
> >   This is a cop-out.  Every time a new language comes around and
>
> Hmm, that is strong language. Do you think Matz has made a bad decision
> here? Ruby does have lambda's. If you really need a lisp like language,
> there is always Lisp. :)
>

  I'm not meaning to be insulting, but saying that something is too
dangerous to put in the hands of the uneducated is almost always a way
of evading a question rather than answering it.  How about:
"The goals I am pursuing with Ruby (list goals) will not be achieved
any better with macros"
"The syntax and language structure I like for Ruby will not support
macros in an intuitive, maintainable way"  (I certainly agree with
this)
"I don't believe the benefits of macros are worth the effort of
supporting them in the interpreter and training developers to use
them."

If the reason is really that they are too scary, say why:
"The delayed evaluation necessary to support macros runs contrary to
the rest of the language.  This lack of clarity will prove a hindrance
to the quick development I intended Ruby to support.  Also, exporting
to the client of a class those implementation details (method or
macro) violates encapsulation which will increase the learning curve
of the language."

I'm probably overreacting, but I feel patronized when I'm told I can't
have something because it's "too easy to abuse".  :)

-Ben