2007-08-25から1日間の記事一覧
さて前回、アキュムレータジェネレータが書けないと書いた理由は、変数の破壊的代入が必要になるためです。ですよね? OCamlは関数型言語ですが、純粋な関数型言語ではありません。純粋な関数型言語としては最近ではHaskell等が有名です。 そもそも純粋って…
関数型といえば略。 カリー化とは…ほげほげ。 例えば plus というニ引数を取る関数にうっかり引数を一つしか渡さなかったとします。 # let plus x y = x + y;; val plus : int -> int -> int = <fun> # plus 3;; (* アッー *) - : int -> int = <fun> やっちゃった…と</fun></fun>…
演算子の一覧とか何処かに纏められて無いかなと思ったら余裕で見つからなかったので、分かる範囲でまとめておこうと思います。多分漏れが一杯ある。 int +(加算), -(減算), *(乗算), /(除算), mod(剰余算), land(bit and), lor(bit or), lxor(bit xor) float…
触れたくなくて今まで華麗にスルーしてきましたが、手続き型言語の多くとは違い、OCamlの演算子は非常に融通が利きません。 # let x = 1 * 2.2;; Characters 12-15: let x = 1 * 2.2;; ^^^ This expression has type float but is here used with type int …