Introduction to Type Systems
In this series, I will explain various type systems and their implementations in Haskell. The aim for this series is to be an approachable way to learn about type systems. I will try to cover both the theoretical aspects, such as formal (mathematical) notation, and the practical aspects, consisting of a Haskell implementation. After reading this series, you should have an understanding of the basics of type systems.
Read the series
You can find a list of the series’ posts here.
- Types and Programming Languages, Benjamin C. Pierce.
- Software Foundations, volume 2: Programming Language Foundations, Benjamin C. Pierce et al.
- Programming Language Foundations in Agda, Philip Wadler, Wen Kokke and Jeremy Siek.