Ask HN: Favourite resources for learning programming type theory?

6 points by stephantul ↗ HN
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!

8 comments

[ 4.0 ms ] story [ 24.3 ms ] thread
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.

Name is correct, thanks a lot, I'll check it out!
> 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/

Types and Programming Languages by Benjamin Pierce, sometimes also referred to as TAPL.
I only just saw this, thanks! Will check it out