|
Nemerle(ネマール)は.NETプラットフォーム上で動作する静的型付けの高級言語である。 手続き型、オブジェクト指向、関数型言語の機能を取り込んだハイブリッド言語であり、C#によく似た構文構造と強力なメタプログラミング機能が特徴となっている。 Wrocław University(ポーランド)のKamil Skalski、Michał Moskal、Prof. Leszek Pacholski、Paweł Olsztaらによって開発された。 現在ではロシアの開発コミュニティであるRSDNによって開発・保守がされているが、2012年よりJetBrainsがコア開発者を雇用して、"N2" と呼ばれる新規・既存言語を実装するためのフレームワークの開発に注力している。 == 特徴 == おそらくNemerleの最も重要な特徴は、オブジェクト指向プログラミングと関数型プログラミングの両方を混在可能であるということであろう。プログラムのトップレベルではオブジェクト指向の構造を用いるが、メソッド本体には関数型のスタイルを用いることもできる。これは幾つかのプログラムにおいて非常に便利に機能する。以下に特徴的な機能を示す。 * 強い型推論 * マクロによる柔軟なメタプログラミング * (C#やJava、C++のような文法の)オブジェクト指向プログラミング * (ML、OCaml、Haskellのような文法の)関数型プログラミングの諸機能: * 高階関数 * パターンマッチング * 代数的データ型 * ローカル関数 * タプルと匿名型 * 関数の部分適用 メタプログラミング機能はコンパイラの高度な拡張を可能としており、プログラマの負担を可能な限り軽減しつつ、ドメイン固有言語の組み込み、部分評価、アスペクト指向プログラミングなどを可能にしている。 また、ジェネリックプログラミングやラムダや拡張メソッドなどといったCLIの全ての機能を利用することができ、.NETのライブラリをC#と同じくらい(あるいはそれ以上に)簡単に扱うことも可能である。 以下では、これらの機能をNemerle中でどのように利用できるかをいくつかの例を挙げて説明する。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Nemerle」の詳細全文を読む スポンサード リンク
|