Nemerle

Nemerle

Nemerle是Microsoft的研究項目之一,由 Nemerle 在Nemerler

簡介


Nemerle是Microsoft的研究項目之一,由 Wrocław 大學的Kamil Skalski、Michał Moskal、Prof. Leszek Pacholski、Paweł Olszt等人發明。目前最新版本是1.0。
Nemerle是一種多范型的語言(面向對象和函數式),完全支持編譯器宏(後來更多的是Lisp的變種,而不是C++),以及許多其他的東西。Nemerla與VS2010里發布的F#不同,後者是純函數式語言。Nemerle提供了與C#近似的語法和強大的元編程系統。

特點


Nemerle語言具有與C#近似的語法,無疑這使得學習曲線大幅下降。
這裡和C#不同的地方,首先我們通過關鍵字def定義了一個值sr,我們並沒有聲明它的類型,編譯器會根據上下文自動賦予類型,我們稱之為類型推斷(Type inference)。而且new關鍵字也不需要了。
文本文件有多少行,read_lines()函數就要執行幾次,像使用while循環一樣,只不過稍微換了一種思路。這時候可能您會考慮到使用遞歸而影響效率的問題,事實是當一個函數主體在調用另一個函數后執行完畢,沒有創建任何新的堆棧,這被稱作尾端調用(Tail Call),所以這段代碼和while循環在效率上一樣的。Nemerle尤其注重將循環寫成遞歸的深入的理解.
使用 Nemerle 宏(macros)可以產生新的語法。在Nemerler IDE中,添加一個macro project,並在你的程序里引用這個macro project.