このページは最後に更新されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。 関数型言語の比較 OCaml 参照型の変数を用いることで破壊的代入ができます。 # let x = ref 0;; val x : int ref = {contents = 0} # x := !x + 1;; - : unit = () # !x;; - : int = 1 標準ライブラリの一部(ストリームやハッシュテーブルなど)は、破壊的代入を用いています。 ↑ SML OCamlと同様に、参照型を用いることで破壊的代入ができます。 - val x = ref 0; val x = ref 0 : int ref - x := !x + 1; val it = () : unit - !x; val it = 1 : int ↑ Haskell できません。ただし、IORefモナ