Каждый программист Common Lisp знает, что макросы являются мощным инструментом. Общие макросы Lisp были использованы, среди прочего, для добавления ориентации объектов поверх Lisp без изменения спецификации языка; read-macros - это еще одна конструкция с возможностями изгиба ума.
Другая программа, которая позволяет метапрограммировать Forth. Форт делает это несколько иначе, используя "слова" и "генерировать слова".
Я хотел бы знать, от кого-то, кто ругался на обоих языках, если общие макросы и конструкторы Lisp сопоставимы по ширине/мощности: есть ли что-то, что вы можете сделать с тем, что вы не можете сделать с помощью последний? Или наоборот?
Конечно, я не говорю о Turing-полноте двух языков: я говорю о возможностях metaprogramming. C является завершением Тьюринга, но только глупец утверждает, что макросы C сравнимы по мощности с Common Lisp.