TaPL
https://gyazo.com/700ecc8fd508c11c0f20e1bc68285e23
Benjamin C. Pierce著
住井英二郎 著
遠藤侑介 翻訳
酒井政裕 翻訳
今井敬吾 翻訳
黒木裕介 翻訳
今井宜洋 翻訳
才川隆文 翻訳
今井健男 翻訳
/mrsekut-book-4274069117
サポートページ
http://tapl.proofcafe.org/
実装
https://zehnpaard.hatenablog.com/entry/2021/03/02/215219
公式
https://github.com/roehst/tapl-implementations
https://github.com/hsk/simpletapl/tree/master/ocaml
TaPLのHaskell実装
手を動かして厳密に読もうとするとものすごい時間がかかって永遠に読み終わらない気がするので、もうちょい雑に読んでみても良いのかもしれないmrsekut.icon
https://qiita.com/kripkejoyal/items/6f70c794e6f11a2340f1
ちゃんと読んでないがこれ見ると良いかもmrsekut.icon
12年前の『型システム入門』翻訳の思い出話 - Speaker Deck
TaPL翻訳の裏側
1章 はじめに
形式手法
分岐階型理論
構成的型理論
純粋型システム
次元解析
2章 数学的準備
/mrsekut-book-4274069117/036 (第2章 数学的準備)
同値関係
二項関係
反射閉包
推移閉包
反射推移閉包
第1部 型無しの計算体系
第3章 型無し算術式
第4章 算術式のML実装
第5章 型無しラムダ計算
第6章 項の名無し表現
第7章 ラムダ計算のML実装
第2部 単純型
第8章 型付き算術式
第9章 単純型付きラムダ計算
第10章 単純型のML実装
第11章 単純な拡張
第12章 正規化
第13章 参照
第14章 例外
第3部 部分型付け
第15章 部分型付け
/mrsekut-book-4274069117/166 (第15章 部分型付け)
部分型 (subtype)
型強制意味論
Coercion Semantics
/mrsekut-book-4274069117/182
ちゃんと読んでないmrsekut.icon
第16章 部分型付けのメタ理論
第17章 部分型付けのML実装
第18章 事例:命令的オブジェクト
第19章 事例:Featherweight Java
第4部 再帰型
第20章 再帰型
第21章 再帰型のメタ理論
/mrsekut-book-4274069117/246 (第21章 再帰型のメタ理論)
第5部 多相性
第22章 型再構築
/mrsekut-book-4274069117/274 (22章 型再構築)
型推論
一部または全部の型注釈がない項の主要型を求めるアルゴリズム
第23章 全称型
第24章 存在型
第25章 System F のML実装
第26章 有界量化
第27章 事例:命令的オブジェクト再考
第28章 有界量化のメタ理論
第6部 高階の型システム
第29章 型演算子とカインド
第30章 高階多相
第31章 高階部分型付け
第32章 事例:純粋関数的オブジェクト
付録A 演習の解答
付録B 記法
#WIP
3章 型なし算術式
正規形
表記
導出木
項: $ \tau
bool値、数値(succ, pred, iszero)を表す
項の集合: $ \mathcal { T }
集合Sはこれらの全ての組み合わせを表す: $ S = \bigcup _ { i } S _ { i }
多ステップ評価関係
*を使う
$ t\rightarrow {}^*t'.
項$ tを複数回簡約すると項$ t'が得られる
ここからわかるのは通常の$ \rightarrowは1回の簡約を示すのか?
4章 実装
TaPLのHaskell実装
Termの定義と簡単なevalの実装
5章 型無しラムダ計算
π計算
オブジェクト計算
意味論
Church encoding
変数捕獲
代入の際に変数名がかぶるやつ
ちゃんとした説明は p.53
捕獲回避代入
変数捕獲を避けるような正しい代入操作
読了2020/5/17
6章 項の名無し表現
de Bruijnインデックス
一応読了2020/5/31
7章 実装
未読
8章 型付き算術式
型システム
導出木
健全性
ある式への型の付け方は一意である
一応全部読んだ2019/10/6
9章 単純型付きラムダ計算
とちゅう2019/10/6
10章 実装
未読
11章 単純な拡張
/mrsekut-book-4274069117/114 (第11章 単純な拡張)
未読
12章 正規化
未読
13章 参照
未読
14章 例外
未読
16章 部分型付けのメタ理論
未読
17章 実装
未読
18章 命令的オブジェクト
未読
19章 Featherweight Java
未読
20章 再帰型
未読
21章 再帰型のメタ理論
未読
余帰納法
23章 全称型
System F
非可述多相
型付きのChurch encoding
p.273~
24章 存在型
25章 実装
未読
26章 有界量化
System F-sub
上界
未読
27章 命令的オブジェクト再考
未読
28章 有界量化のメタ理論
未読
29章 型演算子とkind
kind
未読
30章 高階多相型
未読
31章 高階部分型付け
未読
32章 純粋関数的オブジェクト
未読
転がってた資料
http://pllab.is.ocha.ac.jp/harukam/okiba/tapl/tapl_1.html
http://proofcafe.org/tapl/taplnagoya-3.pdf
書評「型システム入門」 - あどけない話
実装
haskellの実装 日本人
haskellの実装
https://github.com/steshaw/TAPL/tree/master/arith
elmで
https://matsubara0507.github.io/posts/2019-12-06-tapl-with-elm-part1.html
https://matsubara0507.github.io/posts/2019-12-07-tapl-with-elm-part2.html
https://mint.hateblo.jp/entry/2014/12/24/211543
https://mint.hateblo.jp/entry/2014/12/24/211543
#スクボ読書化した本