iso- と equi- と OCaml の再帰型
OCaml の再帰型と iso-recursive と equi-recursive について。
Keigo Imai
@keigoi
Haskell "再帰" "最大不動点" とかでググると全く役に立たない私のブログがトップに2つくらいひっかかる。本当に本当に日本のみなさんすいませんって感じだ
2011-02-01 16:58:30
m2ym
@m2ym
@keigoi type t = t -> intの=って「定義する」という意味だと思ってましたが、違うんですか。でも-rectypesでμα.τ=[μα.τ/α]τの推論規則等を追加するのに、あらためてそれを要求するのもおかしな話な気がする
2011-02-01 17:21:14
Keigo Imai
@keigoi
@m2ym いいかげんに書いててすいません。 type t=t->int という定義は新しく t=t->intという等価性を導入します。でもそういう右辺に同じ型が出てくるような等価性はequi-recursiveな型システムのもとでしか許されないです
2011-02-01 17:30:31
Κeіsuke Νakanο
@ksknac
let rec を使わない不動点演算子の定義.出遅れたので不純な方法で書いてみた. let fix f = let r = ref (fun x->x) in r := (fun x -> f !r x); !r #ocaml
2011-02-02 10:22:38
m2ym
@m2ym
これはえぐい… RT @ksknac: let rec を使わない不動点演算子の定義.出遅れたので不純な方法で書いてみた.let fix f = let r = ref (fun x->x) in r := (fun x -> f !r x); !r #ocaml
2011-02-02 10:56:40