【发布时间】:2010-10-19 11:59:37
【问题描述】:
Clojure 中是否实现了任何 DSL(领域特定语言)?
【问题讨论】:
Clojure 中是否实现了任何 DSL(领域特定语言)?
【问题讨论】:
与任何 Lisp 方言一样,Clojure 在 API 和 DSL 之间划出了一条非常模糊的界线,因此该术语不像在其他语言中那样具有相同的神秘性。 Lisp 程序员倾向于将他们的程序编写为 DSL 层,每一层都为其上层服务。话虽如此,这里有一些你可以说显示非平凡的 DSL 级别(无特定顺序):
【讨论】:
SQL DSL 在 Clojure 中,有点旧,但可能是一个展示柜
【讨论】:
Enlive 的创建者 Christophe Grand:http://blip.tv/clojure/christophe-grand-not-dsl-macros-4540700(幻灯片为 here)在 2010 年 clojure-conj 会议上关于思考如何使用 clojure 构建 DSL 的有用演讲。
我还将Ring 的设计视为 DSL 设计领域。查看 Ring 的创建者 Mark McGranaghan 的演讲:http://clojure.blip.tv/clojure/mark-mcgranaghan-one-ring-to-bind-them-4724955 (slides)
【讨论】: