プログラミング言語 Scala 6冊目
■ このスレッドは過去ログ倉庫に格納されています
0772(1) ◆CgacaMDhSQ
2011/08/21(日) 10:27:24.55それがエッセンスかどうかは、PDFのラスタライザ作った事が無いので判断できませんが
静的型付けで型が付きにくそう、という点でうまいところをついていると思います。ただ、これが
静的型付け言語で実行できないか、というとそういうわけでもなく、equi-reqcursive-typeという
型システムがあれば、実行できます。Scalaはequi-recursive-typeそのものをサポートしてない
のですが、OCamlだと-rectypesを付ければ実行できます。たとえばこんな感じです。
>ocaml -rectypes
Objective Caml version 3.11.0
# let rec f a b = (a+b, (f (a+b)));;
val f : int -> (int -> int * 'a as 'a) = <fun>
# f 3 4 ;;
- : int * (int -> 'a) as 'a = (7, <fun>)
# fst (f 3 4);;
- : int = 7
# (snd (f 3 4)) 5;;
- : int * (int -> 'a) as 'a = (12, <fun>)
■ このスレッドは過去ログ倉庫に格納されています