11/5

Nemerle 0.9.1 is out
インデントベースの文法対応とバグフィックスがメイン。
CLR Method Dispatch Internals: From Static to Dynamic
メソッド呼び出しの内部的な動作について。と言いつつ、個人的にはデモ中のデバッガの使い方に興味が。(^^; イミディエイトウィンドウのコマンドがかなり強化されている? あと、ポップアップウィンドウをブロックしているとデモが見られないので注意です。

インデントベースの文法

以前、紹介したときから、ちょっと変更されたみたい。

#pragma indent
using System

set namespace Indent.Sample

class Foo
    bar : string

    public this (str : string)
        bar = str

    public Say () : void
        Console.WriteLine (bar)

module Program
    [STAThread] \
    public static Main (args : array [string]) : void
        foreach (s in args)
            def foo = Foo (s)
            foo.Say ()
        Console.WriteLine ($"$(args.Length)")

行の継続には\を使います。また、インデントベースの文法を使うにはコンパイルオプションに-iを付けるか、

#pragma indent

を指定します。