#lightシンタックスについて思うこと
#lightシンタックスはOCamlとの互換性がないためあまり好きじゃない。
しかし、matchをネストするようなケースは、lightシンタックスのほうが綺麗に記述出来る。通常のシンタックスだと()またはbegin〜endが事実上必須になる(ように思う)から。
通常のシンタックスだと、括弧やbegin〜endを書かない場合、2番目に書いたmatchが残り全てのパターンにマッチしてしまう。そのため、次の例(#light "off")では一番下のワイルドカードにはマッチしないどころか、最初の1にマッチするルールが無いと言われ例外が発生する。
match 1 with | 0 -> match 10 with | 0 -> 0 | _ -> 10 | _ -> 1
しかし、一番良いのは、ネストしたパターンマッチを使用しないようにプログラムすることかもしれない