『プログラミングの基礎』の練習問題を解く、の続きです。
本書で使っている言語はOCamlです。
今回は4.4型推論と型チェックです。
Ocaml インタプリタは裏で型推論と型チェックをしているらしいです。
- 型推論
- 型を一切、入力しなくても型を推論してくれる
- 型チェック
- 期待される正しい型のデータが使われているかをチェックする
本書に書いてある例題を入力してみました。
# let f x = 3 * x ;; val f : int -> int = <fun> # f 2.5 ;; Error: This expression has type float but an expression was expected of type int # let f2 x = 3.0 *. x ;; val f2 : float -> float = <fun> # f2 2.5 ;; - : float = 7.5
関数 f の型が int -> int なので、エラーになっちゃいましたね。