Learning Scala in small bites

In my advanced compilers course, students have write to lexer-generators, parser-generators and Scheme interpreters with first-class macros.

To make these projects feasible, I recommend using Scala.

Of course, Scala is a large, intricate language.

It takes time to even become aware of all its features.

To help learn Scala faster, I've created the series of small examples below, each of which highlights one or two aspects of the language.

Updated, 16 Sep 2013: While teaching advanced compilers again this semester, I've significantly revamped and updated this tutorial. The code that broke with the big Scala collections update is running again. It all runs in the latest Scala.