有一个关于减少编程语言风格圣战的设想

define-syntax 是 Racket 实现 macro 的关键字之一。 defmacro 是 使用 symbol-based macro systems 的语言(e.g. Scheme or Common Lisp) 实现 macro 的关键字。

当然 Racket 为了方便从这些语言移植代码,在 compatibility-lib 包对 defmacro 关键字(compatibility/defmacro)进行兼容。不过 Racket 中不建议使用 defmacro ,而推荐使用 syntax-parse or define-syntax-parse-rule

最后一句跪了……为啥弃坑?

我很多年前vala刚出来不久学了下,印象中弃坑得原因是它跟D似的搞了好多指针类型,很不尽兴,就算了。

没错,就是这个意思

看待语言,要像看待姑娘的态度,各有美的地方,如果所有美女都一个模子刻出来的,那得多么乏味。

也不可能把所有美都合并到一起,那就把和弦弄成单调了。

注意言行, 不恰当的回复我已经隐藏了。

已编辑。。。

感觉没啥卵用,不同编程语言之间真正闹心的地方往往在于语言特性层面上的,语法长啥样其实根本就不是重要的。

比如 go,你再怎样魔改能把 if err != nil 给改掉吗。

或者有的语言要做一堆类型体操,那再怎样类型体操都少不了的吧。。。

至少可以加点语法糖