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!
https://jrsinclair.com/articles/2019/algebraic-data-types-wh...
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:
This is all very theoretically heavy though.