Try   HackMD

First Steps in Haskell

(sometimes part of the Programming Languages course at Chapman University subject to change)

These notes are intended to help getting started with Haskell. (Thanks to all students who provided many of the links.)

Learning Haskell

One of the most popular courses, and a very good one, available online, which I will use as a reference for Programming Languages, is

More Resources for Learning Haskell

Graham Hutton, one of the leading Haskellers, has an introductory lecture series Functional Programming in Haskell, see also here.

Find more tutorials that suit your background:

Tutorials not in the Meta-tutorial (last time I looked) and that I know have been useful to some: Learning Haskell and Happy Learn Haskell Tutorial and Real World Haskell and Learning Haskell in One Video

Personally, I like

because it is written with the relevant theory in mind. Moreover, Chapters 1-5 are a very good fit for what we will need in our Programming Languages course. But for a first introduction other tutorials may be better suited to your background.

My Setup

I use visual studio code as my editor with the extension

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Haskell Projects

It is best to learn a programming language by implementing a project that interests yourself. The Ninety-Nine Haskell Problems may provide some inspiration. Or, for example, for the 2020 edition of the course

implemented two nice projects highlighting many features of Haskell. You can also look at my own

in which I started to explain Haskell from the point of view of automata theory (will be relevant for the Compiler Construction course that follows on from Programming Languages). Btw, if you wanted to implement more automata theory in Haskell, that could be a nice project as well.

Some more projects some of my students found inspiring:

Even More resources

Videos

contains much more than we need for the Programming Languages course but is an excellent resource.

is not about Haskell but it gives a good introduction to recursion in general, which does play a central role in any Haskell program.

Blogs

Jacob Anabi and Dan Haub who took the Programming Languages course in 2020 wrote blogs that contain a lot of useful information.

Programming Languages: Part 0

Here are a few links from myself tailored to what we will need in the Programming Languages course. We will go over this at the beginning of the course again, but you may want to take a look already.