Syntax 非Lisp语言中有哪些宏系统?

Syntax 非Lisp语言中有哪些宏系统?,syntax,macros,programming-languages,lisp,syntactic-sugar,Syntax,Macros,Programming Languages,Lisp,Syntactic Sugar,我用过Scheme和Clojure,我用过很多他们的宏系统和lisp语法(缺少语法)的可能性 然而,我还没有发现许多其他语言具有像Lisp语法语言那样复杂和有用的宏系统 有一些值得注意的例子吗?也有,也没有经典的类似Lisp的全括号语法 据说是数学家。我自己也没有使用过它,不过根据,它比Lisp/Scheme宏要混乱得多 根据您定义“宏系统”的方式,可能也会起作用。也有,也没有经典的类似Lisp的全括号语法 据说是数学家。我自己也没有使用过它,不过根据,它比Lisp/Scheme宏要混乱得多 根

我用过Scheme和Clojure,我用过很多他们的宏系统和lisp语法(缺少语法)的可能性

然而,我还没有发现许多其他语言具有像Lisp语法语言那样复杂和有用的宏系统

有一些值得注意的例子吗?

也有,也没有经典的类似Lisp的全括号语法

据说是数学家。我自己也没有使用过它,不过根据,它比Lisp/Scheme宏要混乱得多

根据您定义“宏系统”的方式,可能也会起作用。

也有,也没有经典的类似Lisp的全括号语法

据说是数学家。我自己也没有使用过它,不过根据,它比Lisp/Scheme宏要混乱得多

根据您定义“宏系统”的方式,可能也会起作用。

也有,也没有经典的类似Lisp的全括号语法

据说是数学家。我自己也没有使用过它,不过根据,它比Lisp/Scheme宏要混乱得多

根据您定义“宏系统”的方式,可能也会起作用。

也有,也没有经典的类似Lisp的全括号语法

据说是数学家。我自己也没有使用过它,不过根据,它比Lisp/Scheme宏要混乱得多

取决于您如何定义“宏系统”,可能也会起作用。

关于宏(元编程功能),我可以想到和。这意味着在Algol方言中使用强大的宏并非不可能,但与任何LISP方言相比,它总是非常困难,因为Algol语法很少像LISP方言那样类似于它自己的AST树。

关于宏(元编程功能),我可以想到和。这意味着在Algol方言中使用强大的宏并非不可能,但与任何LISP方言相比,它总是非常困难,因为Algol语法很少像LISP方言那样类似于它自己的AST树。

关于宏(元编程功能),我可以想到和。这意味着在Algol方言中使用强大的宏并非不可能,但与任何LISP方言相比,它总是非常困难,因为Algol语法很少像LISP方言那样类似于它自己的AST树。

关于宏(元编程功能),我可以想到和。这意味着在Algol方言中使用强大的宏并非不可能,但与任何LISP方言相比,它总是非常困难,因为Algol语法很少像LISP方言那样类似于它自己的AST树。

我的语言在LISP级别有一个宏系统,但用Smalltalk风格的语法来管理它。特别是,我们在默认情况下设法保持卫生(但可以捕获),避免CONS单元格意味着我们的AST节点是可以定义代码遍历递归方法的数据类型,这意味着代码遍历和转换比Lisp中容易得多

但是,许多较新的语言(我打算评估Rust和Julia)都有某种形式的语法宏,因此将有更多的示例可供选择。

我的语言在Lisp级别有一个宏系统,但使用Smalltalk风格的语法进行管理。特别是,我们在默认情况下设法保持卫生(但可以捕获),避免CONS单元格意味着我们的AST节点是可以定义代码遍历递归方法的数据类型,这意味着代码遍历和转换比Lisp中容易得多

但是,许多较新的语言(我打算评估Rust和Julia)都有某种形式的语法宏,因此将有更多的示例可供选择。

我的语言在Lisp级别有一个宏系统,但使用Smalltalk风格的语法进行管理。特别是,我们在默认情况下设法保持卫生(但可以捕获),避免CONS单元格意味着我们的AST节点是可以定义代码遍历递归方法的数据类型,这意味着代码遍历和转换比Lisp中容易得多

但是,许多较新的语言(我打算评估Rust和Julia)都有某种形式的语法宏,因此将有更多的示例可供选择。

我的语言在Lisp级别有一个宏系统,但使用Smalltalk风格的语法进行管理。特别是,我们在默认情况下设法保持卫生(但可以捕获),避免CONS单元格意味着我们的AST节点是可以定义代码遍历递归方法的数据类型,这意味着代码遍历和转换比Lisp中容易得多


但是,许多较新的语言(我打算评估Rust和Julia)都有某种形式的语法宏,因此将有更多的示例可供选择。

我对这个问题的答案非常感兴趣,但我确实认为堆栈溢出是离题的:这里没有唯一正确的答案(尽管有些答案可能事实上是错误的):“可能的答案太多,或者好的答案对于此格式来说太长。请添加详细信息以缩小答案集,或者隔离可以在几段中回答的问题。”请查看Katahdin()、模板Haskell、Nemerle、Converge、MetaOCaml、,JetBrains MPS。我要求提供一个包含复杂宏系统的非lisp语言的好列表,这似乎可以在几段时间内得到回答。我对这个问题的答案非常感兴趣,但我确实认为堆栈溢出是离题的:这里没有一个正确的答案(尽管有些答案可能事实上是错误的):“可能的答案太多,或者好的答案对于这种格式来说太长。请添加详细信息以缩小答案集,或者隔离一个可以在几段中回答的问题。”查看Katahdin(),模板Haskell,Nemerle,Converge,MetaOCaml,JetBrains MPS。我想要一个包含复杂宏的非lisp语言的好列表