Jesse Jones wrote:
  >
> Banning a feature because it can be misused is a pretty weak rationale.

I tend to agree on this, preferring an enabling language to a B&D 
language.  Ruby already gives folks plenty of tools for making code 
unreadable.  I think most people would use macros to do the opposite: 
encapsulate some abstraction to make code cleaner.

David Alan Black mentioned macros as (possibly) a facility for 
introducing arbitrary syntax.  I'm no Lisper, but no examples I've seen 
of Lisp macros suggest that this is what goes on.  I do not think you 
can use Lisp macros to get a Lisp interpreter to under truly arbitrary code.

But, even supposing one could, I believe the Darwinian forces in a 
development community would prevent abuse of macros from becoming prevalent.