Home

Awesome

learn-tt

Lots of people seem curious about type theory but it's not at all clear how to go from no math background to understanding "Homotopical Patch Theory" or whatever the latest cool paper is. In this repository I've gathered links to some of the resources I've personally found helpful.

A Disclaimer

At this point learn-tt is a few years old and I can write with slightly more confidence than when I first created this document. I still stand by the fact that the links in this list have helped me learn ideas that would have been difficult to find elsewhere. At the same time, I worry that this list carries more of a ring of authority than I wish it did, particularly now that it is relatively popular. I learn more about type theory every day (admittedly, some days more slowly than I wish) and my views on what constitutes a good explanation, a good approach, or even a good type theory have changed in small and large ways since I first compiled these resources.

I toyed with the idea of deleting this repository because I have worried whether or not presenting my own learning path does more harm than good. I have decided to leave it around but to add a disclaimer instead.

What follows below should not be construed as some blessed path for learning type theory. You may find it better to skim this list or simply snort and ignore it entirely. My process for learning continues to be distinctly wandering and non-linear. Someone with different goals than me would find some of these links useless and I would not be nearly so bold as to claim that these resources are canonical, necessary, or even helpful for everyone. I can only hope that you enjoy reading them as much as I have.

Danny

The Resources

Textbooks

Proof Assistants

One of the fun parts of taking in an interest in type theory is that you get all sorts of fun new programming languages to play with. Some major proof assistants are

Type Theory

Proof Theory

Category Theory

Learning category theory is necessary to understand some parts of type theory. If you decide to study categorical semantics, realizability, or domain theory eventually you'll have to buckledown and learn a little at least. It's actually really cool math so no harm done!

Other Goodness