必威电竞|足球世界杯竞猜平台

Nemerle
來源:互聯(lián)網(wǎng)

Nemerle是一種由微軟提出的.NET平臺上的新語言,由Wroc?aw大學(xué)的Kamil Skalski、Micha? Moskal、Prof. Leszek Pacholski、Pawe? Olszt等人發(fā)明。這是一種通用的、高級的、靜態(tài)類型的編程語言,設(shè)計用于基于公共語言基礎(chǔ)設(shè)施的平臺(.NET/Mono)。它支持函數(shù)式、面向?qū)ο?、面向方面、反射式和命令式特性,擁有簡單的C#-like語法和強大的元編程系統(tǒng)。2012年6月,Nemerle的核心開發(fā)者被捷克軟件開發(fā)公司JetBrains雇傭,他們專注于開發(fā)Nitra框架,用于實現(xiàn)現(xiàn)有和新的編程語言。然而,JetBrains似乎已經(jīng)放棄或停止了Nitra和Nemerle的開發(fā),Nitra自2017年以來沒有更新,而Nemerle現(xiàn)在完全由俄羅斯軟件開發(fā)網(wǎng)絡(luò)獨立維護,盡管沒有發(fā)布重大更新,但開發(fā)進度非常緩慢。

簡介

Nemerle是微軟的研究項目之一,由 Wroc?aw 大學(xué)的Kamil Skalski、Micha? Moskal、Prof. Leszek Pacholski、Pawe? Olszt等人發(fā)明。目前最新版本是1.0。

Nemerle是一種多范型的語言(面向?qū)ο蠛秃瘮?shù)式),完全支持編譯器宏(后來更多的是LISP的變種,而不是C++),以及許多其他的東西。Nemerla與Microsoft Visual Studio 2010里發(fā)布的F#不同,后者是純函數(shù)式語言。Nemerle提供了與C#近似的語法和強大的元編程系統(tǒng)。

特點

Nemerle語言具有與C#近似的語法,無疑這使得學(xué)習(xí)曲線大幅下降。

這里和C#不同的地方,首先我們通過關(guān)鍵字def定義了一個值sr,我們并沒有聲明它的類型,編譯器會根據(jù)上下文自動賦予類型,我們稱之為類型推斷(Type inference)。而且new關(guān)鍵字也不需要了。

文本文件有多少行,read_lines()函數(shù)就要執(zhí)行幾次,像使用while循環(huán)一樣,只不過稍微換了一種思路。這時候可能您會考慮到使用遞歸而影響效率的問題,事實是當(dāng)一個函數(shù)主體在調(diào)用另一個函數(shù)后執(zhí)行完畢,沒有創(chuàng)建任何新的堆棧,這被稱作尾端調(diào)用(Tail Call),所以這段代碼和while循環(huán)在效率上一樣的。Nemerle尤其注重將循環(huán)寫成遞歸的深入的理解.

使用 Nemerle 宏(macros)可以產(chǎn)生新的語法。在Nemerler IDE中,添加一個macro project,并在你的程序里引用這個macro project.

參考資料 >

生活家百科家居網(wǎng)