メモです。
- 記法の定義
- 型無しラムダ計算
👀 いろんな機能を足してみます
-
unit(3.1) バリアント(3.1) ラベル付きデータ構造(3.1)
-
再帰的データ型(3.2)
-
再帰関数(3.3)
-
ユーザ定義データ型(3.4) パターンマッチ(3.4)
-
参照(3.5) 継続(3.5)
-
3.1.1 unit : void的なやつ
-
3.1.2 バリアント型 : 直和型(union的なやつ)
-
3.1.3 ラベル付きデータ構造 : レコード・バリアントの要素にラベルを付けられるようにする
-
3.2 再帰的データ型(Λ^μ1) :
List ::= Nil | (n, List)
みたいに、型の定義が自分自身を含んでもよいことにする -
3.3 再帰的関数
-
3.4 ユーザ定義型 : datatype構文を使って、ユーザ定義型(直積+直和)を定義できるようにする
-
3.5.1 参照型(Λ^ref)
-
3.5.2 継続
- フィールドX: intを持っているレコード、をまとめて扱いたい
- フィールドX: intをもつバリアント型、をまとめて扱いたい
2種類の方法がある(6.2, 6.3)