HACKER Q&A
📣 stephantul

Favourite resources for learning programming type theory?


Hello HN,

Recently, I've been massively enjoying diving into type checkers and how to effectively use them (mostly in Python).

I lack foundational knowledge about the topic (I never studied CS), however, so I am looking for introductory textbooks/blogs/resources on the topic.

More specifically: I see terms being thrown around like "Algebraic sum type", "covariant", "contravariant", and I would like to understand more about what they mean and imply in a practical sense.

Thanks!


  👤 kingkongjaffa Accepted Answer ✓
This blog is chock full of these ideas, start here:

https://jrsinclair.com/articles/2019/algebraic-data-types-wh...


👤 nbaksalyar
> introductory textbooks/blogs/resources on the topic

Books on TypeScript, OCaml, Rust or Haskell are usually great resources for that.

There's also "Thinking with Types" which addresses this topic in a lot of depth:

https://thinkingwithtypes.com/


👤 i_don_t_know
Types and Programming Languages by Benjamin Pierce, sometimes also referred to as TAPL.

👤 randomNumber7
I enjoyed some papers of Luca cardelli (when I remember the name correctly). There is also one overview/introduction about dependent type systems he wrote.

This is all very theoretically heavy though.