Scala中关于DSL的元编程

时间:2014-01-14 18:41:08

标签: scala metaprogramming dsl

我理解动态语言(Ruby,Clojure,Groovy)提供元编程支持,但Scala怎么样?

在Scala中是否存在用于DSL创建的元编程的用例?

Caveat - 我不完全理解元编程,但认为它有助于在运行时处理创建新的DSL语法/规则(可能/可能不正确)。

我已经阅读了这个有用的question,但我对为什么(如果有的话)在Scala中使用元编程感兴趣。

1 个答案:

答案 0 :(得分:3)

Scala中的元编程现在主要围绕Scala宏,这是一个相对新鲜且仍在实验性的编译时元编程工具。

尽管它们相对不成熟和复杂(它们不容易编写),但宏已经在众多项目中使用,因为它们看起来很有希望用于许多目的。例如,请参阅此视频:What Are Macros Good For