OCamlとSMLの違い (2)

  1. nilが定義されていない
  2. リストの項目の区切りが、カンマではなくセミコロン
    • SML: [1, 2, 3]
    • OCaml: [1; 2; 3]
  3. 無名関数の構文
    • SML: fn arg => body
    • OCaml: fun arg -> body
  4. 場合分けの構文
    • SML: case ... of ...
    • OCaml: match ... with ...
  5. 例外の処理
    • SML: ... handle ...
    • OCaml: try ... with ...

リストの項目の区切りがセミコロンというのは、かなり嫌な感じ。そうしなければならない理由があったのだろうか?