2013-02-28 104 views
2

我有幾個使用FactoryBuilderSupport製作的Groovy DSL(SwingBuilder是典型示例),主要是因爲性能問題(還因爲我擔心Groovy的未來,例如Groovy 3會包含一個新的MOP?),我正在研究基於JVM的內部DSL的替代框架。由於Clojure同時具有閉包和宏,它是一個值得考慮的候選人,但我不知道Clojure如何在Groovy腳本中操作動態綁定的Java對象是多麼容易(順便說一句,我熟悉LISP語言家族但與Clojure的特定功能不同)。另外,我想如果我等待足夠長的時間,Java 8的Nashorn會添加Javascript作爲另一個可能的候選人。將Groovy DSL移植到Clojure

那麼,與Groovy相比,Clojure(甚至JavaScript)能夠支持這種DSL有多好?

+0

爲什麼新的MOP會讓你擔心? – Will 2013-02-28 17:22:25

+0

我擔心它不會在Groovy 3中進行切換。而目前的有一些令人討厭的問題。 – Rhangaun 2013-02-28 17:27:37

+1

帶來你的想法和擔憂:http://docs.codehaus.org/display/GroovyJSR/GEP+11+-+Groovy+3+semantics+and+new+MOP – Will 2013-02-28 17:36:00

回答

2

Clojure可能是創建DSL的最佳JVM語言,因爲它具有宏。 可能激發你一些例子(從https://stackoverflow.com/a/3968289/476116拍攝):

當然seesaw作爲擺動DSL的一個例子的和。