An online study group, open to all, dedicated to learning Type Theory.
The initial plan is to read Bob Harper's, Practical Foundations of Programming Languages, 2nd Edition. This book is only available as an online draft.
Formal languages, ways of writing down symbols which hold together in such a way to embody meaning, sit at the core of much of mathematics, programming, and language broadly. To give formal language a meaning is to translate the symbols and their collections into meaning within a domain such that the laws of the language reflect meaning in the domain. A type [theory] is a formal language in its own right, but one designed to reflect meaning from the domain of other formal languages (statically) and, therefore, in studying them we can learn a lot about what governs formal languages generally.
It turns out that this idea provides benefits in mathematics and programming languages. In mathematics, the technique of types has given rise to several alternative foundations to mathematics of interest for philosophical and aesthetic reasons, if nothing else. In programming languages, the technique of types gives rise to several (but not all) forms of static analysis of code fragments useful to describe and guide the logic of the program under constructions.
Studying type theory is to understand the techniques of types and can be a foundation for studying mathematical foundations in type theory or for better understanding (or even creating) programming languages which are amenable to and analyzed by systems of types. It also has a transformative effect on understanding formal languages, on working within them, and on wielding logics.
-- Joseph Abrahamson
- When: November 13th, 6 pm EST
- Where: Google Hangouts
- Material: Ch 1 and 2 of PFPL
- Discussion Leaders: Joseph Abrahamson, Danny Gratzer, and Craig Stuntz
- Type Theory Study Group on Google Groups
- ##typetheory on Freenode.net IRC
- @type_theory on Twitter
- PLATYPUS (Programming Languages And Types - Yet Perfectly Understandable - in Sydney) meets weekly in Sydney, Australia.
- Abstract Syntax Trees / Abstract Binding Trees
- The Untyped Lambda Calculus / Operational Semantics
- The Simply Typed Lambda Calculus / Progress and Preservation
- Propositions as Types / Proofs as Programs
- System F / Parametricity
- Martin-Löf's Extensional Type Theory / Constructive Mathematics and Computer Programming
- Identity Types / Proofs of Equality in Martin-Löf's Intensional Type Theory
- Topological Spaces as Types / Points as Programs
- Intensional Proofs of Equality as Paths between Spaces
- Proofs of Equality of Equalities as Synthetic Homotopies
- Homotopy Type Theory / Higher Inductive Types / Univalence
- Canonicity for Homotopy Type Theory / Current Issues
- Higher Dimensional Type Theories with Canonicity / Bob Harper & Dan Licata's Two Dimensional Type Theory
- Martin-Löf's (Equational) Logical Framework and the Monomorphic Theory of Sets
- The Edinburgh Logical Framework / "Mechanizing Metatheory in a Logical Framework"
- Categorical Semantics of Type Theories / Connection to Category Theory Study Group