Кстати, ты как специалист, можешь сказать как у руби с метапрогарммированием, я почитал вчера про эти рельсы - рулез. Они там пишут что "Ruby's unique design makes it easy to create domain-specific languages and to do metaprogramming.". Действительно так? И насколько отличаеться от лиспа?
За упорством, с которым RoR пеарят свою шнягу, просматривается только одно жылание: "Скорее бы RoR включили в Microsoft .NET 2007 и отвалили нам немерянно бабла".
В Ruby, как и в любом динамическом интерпретируемом языке, метапрограммирование легко доступно, не на уровне AST, а на уровне исходника - то же самое легко делается в Tcl и JavaScript.
Это, конечно же, сильно хуже, чем в Лиспе, это затрудняет многопроходное метапрограммирование, то есть - поэтапную компиляцию из какого либо DSL в сам Ruby, но это не так уж и страшно.