Haskell
A Programming Language for Programming Languages
We will discuss many languages in this course, but we will use Haskell when we decide to implement a language or explain a language feature. As a result, you will need to learn some Haskell. We will be fairly selective in what bits of Haskell we teach you, preferring to show you enough to understand the course content and not much more. This will allow you to get started more quickly.
If you want a comprehensive introduction to the language Well, reasonably comprehensive anyway; there are a lot of extensions and advanced features that you learn about through research papers and blogs. you might want to look at Learn You a Haskell for Great Good.