Большинство твоих абзацев пестрит укорами моей личности; ты просишь доказательств, задаёшь вопросы, которые уводят разговор от первоначальной беседы. Бросаешься на каждое высказывание, которое показывает, что Ruby содержит неприятные ограничения, как бык на красную тряпку, при этом теряя из виду первоначальную мысль.Большинство твоих нападок не относится к теме разговора. Хотя, я был не прав, когда назвал альфа-преобразование редукцией.
Ты не хочешь читать литературу, которую я привожу в ссылках, хотя все эти печатные издания имеют бесплатные online версии. Practical Common Lisp очень чётко описывает использование и преимущества макросов Lisp, два раза писать об этом бессмысленно.
Возвращаясь к списку ограничений, тему которых ты хитро подменил теорией:
1. недоразвитая система макросов, которая основывается на eval и method_missing;
Это факт. В Lisp они реализованы лучше.
2. невозможность задать параметры по умолчанию для аргументов лямбда-функции;
Рано или поздно 1.8 умрёт. Гавнище, что придётся выбросить до 40% написанного кода, однако в 1.9 они решили эту проблему. Используя экспериментальный синтаксис лямбда-функции становится возможным не только передавать значения по умолчанию, но и избежать конфликта с "|", о котором я писал в одном из предыдущих постов. Опять же при использовании новой лямбды потребуется использовать и новый синтаксис для хэша.
3. передача функции двух и более блоков невозможна;
Не реализовано. Способ избежать -- передавать не блоками, а лямбда-функциями. Минус: при этом теряется синтаксическая привлекательность.
4. некорректная работа с юникодом;
Уже обсуждали.
5. отсутствие множественного наследования.
Это религиозный спор, который не мы начали и не нам заканчивать: обсуждать хорошо это или плохо нет смысла. Можно лишь оперировать фактами: в Ruby нет множественного наследования. Есть лишь примеси.
Ты говоришь: "Но и Вы ничего не могли мне возразить по поводу моих контраргументов про скорость, "продукты" и веб-технологии."
Конкретнее. Моё утверждение и твой контраргумент.