Nim (原来叫 Nimrod) 是一个缩进语法,编译到 C++/ObjC/JS 的静态语言,而且:
https://github.com/def-/nim-unsorted/blob/master/listcomprehensions.nim
http://nim-lang.org/trmacros.html
模式语言改写 AST 超简单!比 Java 的 annotation processing tool 好一万倍
早就该这么做了...
例如 fooBar_BAZ
等价于 foo_barbaz
, 但不等价于 FooBar_BAZ
作用:不管你用的库是驼峰党还是蛇党写的,自己的代码依然可以维持统一的风格...
foo.bar()
相当于 bar(foo)
C++ 也要加这个 feature 啦
语法可以微调,例如 #! strongSpaces
可以启用 strong spaces 特性,提高无空格的操作符的结合度
例如加入 NaN 和 Infinity 检查
{.NanChecks: on, InfChecks: on.}
(还没看实现,难道是 G1GC?)
...
现在尝鲜很简单,到 http://nim-lang.org/download.html 下载一个 zip 包,./build.sh 就好了
hello world:
"hello".echo
echo("nim~~")
bin/nim -r c hello.nim
参考这两篇博客
http://hookrace.net/blog/what-is-special-about-nim/ http://hookrace.net/blog/what-makes-nim-practical/