2006-10-02から1日間の記事一覧

関数束縛

関数束縛なんて以下略。文法は「let fname p0 p1 p2 ... = expr」です。 # let f n = n + 3;; val f : int -> int = <fun> # f 4;; - : int = 7fは整数型を引数に取り、整数型を返す関数です、みたいな感じの解釈でいいんだと思います。 ここでも型推論ちゃんとし</fun>…

変数束縛

変数束縛なんて言葉が本当にあるのかは知りません適当につけました… 兎も角。「let name = val」でnameにvalを束縛するらしいです。 # let x = 1;; val x : int = 1下の謎の出力は「xにint型の1を束縛したよ!」という意味なんだと勝手に解釈。もしかしたら…

OCamlを始めよう!

DでMPLするぐらいなら関数型言語覚えよう、というよくわからない動機で始めることにしました。 巷で人気のハスなんとかを使うのはなんとなく悔しかったので、OCamlです。何よりハスなんとかより文字数が少ないです。その点Dは最強ですが。 とりあえずインス…

再帰関数

文法は「let rec fname p0 p1 p2 ... = expr」です。 とりあえず、再帰といえばn!とかΣnの計算らしいです。どう考えても再帰の例として正しくない気はしますが。 # let rec f x = if x > 1 then x + f x - 1 else 1;; val f : int -> int = <fun> <|| なんだか懐</fun>…