Хорошие примеры использования макросов Clojure, демонстрирующие преимущества языка перед мейнстримом?

Я думаю об изучении Clojure, но, исходя из c -синтаксиса, основанного на (java, php, c #)мире императивных языков, это будет проблемой, поэтому один, естественно, спрашивает себя, действительно ли оно того стоит? И хотя такая постановка вопроса может быть очень субъективной и трудной для понимания, есть одна специфическая черта Clojure (и, в более общем смысле, шепелявость ), о которой я продолжаю читать, которая должна сделать его самым гибким языком из когда-либо существовавших. :макросы.

Есть ли у вас хорошие примеры использования макросов в Clojure для целей, которые в других основных языках (рассматриваются как C++, PHP, Perl, Python, Groovy/Java, C #, JavaScript )? требуют гораздо менее элегантных решений/много ненужной абстракции/хаков/и т.д.

27
задан oers 9 May 2012 в 13:16
поделиться