冬休みなのでそのうちやろうと思ってたこれをやってます。
[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
あー……こっちでやればよかった(知ってたのに忘れてた)
MinCaml Source Code
http://esumii.github.io/min-caml/min-caml.html#typing_g
typing.ml 短いなー
👀
「型推論」特別講義 (プログラミング言語の基礎理論シリーズ)第1回 - YouTube
https://www.youtube.com/watch?v=Ju-vJilPjEU
「型推論」特別講義 (プログラミング言語の基礎理論シリーズ) - YouTube
https://www.youtube.com/playlist?list=PLp1bKoc7XHdTJJMj7SLn8rzhQ50lvJbAA
リストはこっち
stdin/out とやりとりする組み込み関数 read, write を追加して (write (read)) が動くようになった
型推論のある言語作った - 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
do も追加して1バイトずつ読み書きするだけの cat が動いた
(letrec
f
(fun ()
(let n (read)
(if (= n -1)
0 ;; EOF
(do
(write n)
(f)))))
(f))