冬休みなのでそのうちやろうと思ってたこれをやってます。
[S-8] 関数プログラミング
http://logic.cs.tsukuba.ac.jp/jikken/index.html
7-4. Type Checking for Functions
http://logic.cs.tsukuba.ac.jp/jikken/type-fun.html
7-4 のあたりまで進んだ。最初なのでゆるくやっていて、CPSとかは後回しにしてる。
7-5. Type Inference
http://logic.cs.tsukuba.ac.jp/jikken/type-inf.html
7-5 まで進んだ。
kuis-isle3sw/IoPLMaterials: Materials for the class "Implementation of Programming Languages" in Kyoto University.
https://github.com/kuis-isle3sw/IoPLMaterials
あー……こっちでやればよかった(知ってたのに忘れてた)
『プログラミング言語の基礎概念』の型推論の章を読み返したら知りたかったことが書かれてた
👀
「型推論」特別講義 (プログラミング言語の基礎理論シリーズ)第1回 - YouTube
https://www.youtube.com/watch?v=Ju-vJilPjEU
「型推論」特別講義 (プログラミング言語の基礎理論シリーズ) - YouTube
https://www.youtube.com/playlist?list=PLp1bKoc7XHdTJJMj7SLn8rzhQ50lvJbAA
リストはこっち
型推論のある言語作った - Route 477(2014-06-05)
https://route477.net/d/?date=20140605#p01
https://github.com/pi8027/typeinfer
をベースにして Ruby で書かれたもの
単純型付きラムダ計算(前半) - YouTube
https://www.youtube.com/watch?v=Q9NWbKFhmSQ
単純型付きラムダ計算(後半) - YouTube
https://www.youtube.com/watch?v=Vm-7KTpj1dw
> さて,上に示した型推論アルゴリズムは、方程式を全て求めてから、それをまとめて解く(単一化する),というものになっているが,方程式の生成と単一化を少しずつ交互に行うようなアルゴリズムとして定式化することも可能である.
『プログラミング言語の基礎概念』 p168