Kgtkr's Blog

Posts about "tklang"

All tags
2021/09/22
プログラミング言語の基礎概念を読んで実装したのでメモ。OCaml実装。間違っているところがあったら指摘して下さると助かります。 作ったもの コードを入力すると型推論結果を返すプログラムです。型チェック失敗時のエラーメッセージは未実装です。 例 関数合成する compose 関数を例にします。 let compose = fun f -> fun g -> fun x -> f (g x) in compose ↓ (let {3: {'2,'3,'4}(('3 -> '4) -> (('2 -> '3) -> ('2 -> '4)))} = (fun {0: {}('3 -> '4)} -> (fun {1: {}('2 -> '3)} -> (fun {2: {}'2} -> ({0}: ('3 -> '4) ({1}: ('2 -> '3) {2}: '2): '3): '4): ('2 -> '4)): (('2 -> '3) -> ('2 -> '4))): (('3 -> '4) -> (('2 -> '3) -> ('2 -