私はいくつかの「ビルダー」Groovy DSL を FactoryBuilderSupport で作成しました (標準的な例はSwingBuilderです)。これは主にパフォーマンスの問題のためです (また、Groovy の将来について心配しているためです。たとえば、Groovy 3 には新しい MOP が含まれますか?)。 JVM ベースの内部 DSL の代替フレームワークを検討しています。
Clojure にはクロージャーとマクロの両方があるため、有力な候補ですが、Groovy スクリプトのように動的にバインドされた Java オブジェクトを操作することが Clojure でどれほど簡単かはわかりません (ところで、私は LISP 言語ファミリには精通していますが、Clojure の言語ファミリには精通していません)。特定の機能)。
また、十分に待てば、Java 8 の Nashorn が別の候補として Javascript を追加することになると思います。
では、Groovy と比較して、Clojure (あるいは JavaScript でさえも) は、その種の DSL をどの程度サポートできるでしょうか?