На самом деле, было бы интересно посмотреть на мультиязычные среды, где можно элементарно определить новый язык. Clojure в этом плане не очень развитый язык: квазицитаты не содержат информации о типах, нет кучи другой информации, которую может достать компилятор. Кроме того, нельзя произвольно расширить синтаксис и наладить "бесшовное" взаимодействие языков.