Nemerle プロジェクトに C# を取り込む


Nemerle のコンパイラーは実は C# のソースコードファイルをコンパイルすることができます。拡張子が .cs の時だけ特別にファイルを C# として扱い, Nemerle 付属の C# コンパイラーでコンパイルします。

class Program
{
   static void Main()
   {
      System.Console.WriteLine("Hello, World!");
   }
}
> ncc csharp.cs
> .\out.exe
Hello, World!

何が嬉しいかというと, Nemerle ファイルと C# ファイルが混在した状態で開発できることになります。 Visual Studio の Nemerle プロジェクト内に拡張子が .cs であるファイルを追加し,プロパティの Build Action を Compile に指定することで,特別なことを行わなくても簡単にビルドできてしまいます[A]

脚注

  1. ただし, Nemerle 1.1 の時点で Nemerle の LINQ クエリ構文まわりにバグがあるので, C# でも LINQ クエリ構文を使っていると一部正常にコンパイルできないという状態が起こります。メソッド構文だと大丈夫みたいです。 [2012-06-21 23:30 追記] どうやら LINQ の他にもたくさんバグがあるみたいです。 0.0 のようなリテラルを float として解釈したり,計算が正しくできなかったりと,数値計算系だと致命的かもしれません。 []