Type Systems Notes
Master
Description
Preliminary sketch, based on referenced book.
Topics
A selection from the
content taken from book (see Material, or
http://www.cis.upenn.edu/~bcpierce/tapl).
- I Untyped Systems 21
- 3 Untyped Arithmetic Expressions 23
- 4 An ML Implementation of Arithmetic Expressions 45
- 5 The Untyped Lambda-Calculus 51
- 6 Nameless Representation of Terms 75
- 7 An ML Implementation of the Lambda-Calculus 83
- II Simple Types 89
- 8 Typed Arithmetic Expressions 91
- 9 Simply Typed Lambda-Calculus 99
- 10 An ML Implementation of Simple Types 113
- 11 Simple Extensions 117
- 12 Normalization 149
- 13 References 153
- III Subtyping 179
- 15 Subtyping 181
- 16 Metatheory of Subtyping 209
- 17 An ML Implementation of Subtyping 221
- 18 Case Study: Imperative Objects 225
- 19 Case Study: Featherweight Java 247
- IV Recursive Types 265
- 20 Recursive Types 267
- 21 Metatheory of Recursive Types 281
- V Polymorphism 315
- 22 Type Reconstruction 317
- 23 Universal Types 339
- 24 Existential Types 363
- 26 Bounded Quantication 389
- 27 Case Study: Imperative Objects, Redux 411
- 28 Metatheory of Bounded Quantication 417
- VI Higher-Order Systems 437
- 29 Type Operators and Kinding 439
- 30 Higher-Order Polymorphism 449
- 31 Higher-Order Subtyping 467
- 32 Case Study: Purely Functional Objects 475
and
Material
- Types and Programming Languages, Pierce, Benjamin C., ISBN: 0262162091
- SL compiler with type inferencing for classes and datatypes
Dependencies
Requires
ImplementationOfProgrammingLanguages
Lecturer
DoaitseSwierstra,
AtzeDijkstra
History
none
Discussion