Ocamlの仕様
以下のソースを実行した。
# exit;; - : int -> 'a =
引数がintで返り値が型多相・・・?
unitを返せばいいんではないかと最初考えた。これの理由が全く分からなかったわけだが、それだと
# let f x = if x == 1 then exit 1 else x;; val f : int -> int =
というソースが通らなくなる。なるほど、どんな型が来ても対応できるようになっているのか。型多相キモス。
以下のソースを実行した。
# exit;; - : int -> 'a =
引数がintで返り値が型多相・・・?
unitを返せばいいんではないかと最初考えた。これの理由が全く分からなかったわけだが、それだと
# let f x = if x == 1 then exit 1 else x;; val f : int -> int =
というソースが通らなくなる。なるほど、どんな型が来ても対応できるようになっているのか。型多相キモス。