Nimrod代码类似这样:
# compute average line length
var count = 0
var sum = 0
for line in stdin.lines:
count += 1
sum += line.len
echo "Average line length: ",
if count > 0: sum / count else: 0
•生成本地代码(目前通过C语言编译而来),不依赖虚拟机:为了易于重分配,Nimrod产生的小型可执行文档并不具备依赖性;
•快速的非垃圾回收机制,支持软件实时系统(比如游戏);
•系统编程功能:能够管理自己的内存,直接访问硬件;垃圾回收机制的指针区别于手动管理内存;
•零开销迭代器;
•跨模块内联;
•支持动态方法绑定内联,无虚拟方法表;
•用编译时间来评估用户定义函数;
•消除整个程序死代码:只用可执行的函数包;
•基于价值的数据类型:比如,可在栈上分配对象和数组;
Nimrod编译器不仅可以很好的运行在Windows,Linux,BSD以及Mac OS X系统上还可以轻松移植到其他平台上。此外,Nimrod编译器还可以产生C++或者Objective-C接口。绑定的项目包括:GTK2,the Windows API, the POSIX API,OpenGL,SDL, Cario,Python,Lua,TCL,X11,libzip,PCRE,libcurl,MYSQL以及 SQLite。
目前,Nimrod 0.9.2已经发布了,该版本是目前为止Nimrod最为吸引人的版本。可从这里下载。即将发布1.0版本。该版本带来很多新特性和Bug修复,其中一个最重要的新特性就是整合所有的异常跟踪,允许检查异常等(详情);另外一个新特性就是引入了声明式列表表达式(详情),实现了直接执行模块中的符号表,使用方法 import module except symbol;支持共享内存垃圾回收机制