+* Those of you with some programming background may have encountered a third
+prominent functional programming language, **Haskell**. This is also used a
+lot in the academic contexts we'll be working through. Its surface syntax
+differs from Caml, and there are various important things one can do in
+each of Haskell and Caml that one can't (or can't as easily) do in the
+other. But these languages also have a lot in common, and if you're
+familiar with one of them, it's not difficult to move between it and the
+other.
+
+<a name=installing></a>
+[[How to get the programming languages running on your computer]]
+
+[[Family tree of functional programming languages]]
+
+
+## Recommended Books ##
+
+It's not necessary to purchase these for the class. But they are good ways to get a more thorough and solid understanding of some of the more basic conceptual tools we'll be using.
+
+* *An Introduction to Lambda Calculi for Computer Scientists*, by Chris
+Hankin, currently $17 on
+[Amazon](http://www.amazon.com/dp/0954300653).
+
+* (Another good book covering the same ground as the Hankin book, but
+more thoroughly, and in a more mathematical style, is *Lambda-Calculus and Combinators:
+an Introduction*, by J. Roger Hindley and Jonathan P. Seldin, currently $52 on [Amazon](http://www.amazon.com/dp/0521898854). If you choose to read
+both the Hankin book and this book, you'll notice the authors made some different
+terminological/notational choices. At first, this makes comprehension slightly slower,
+but in the long run it's helpful because it makes the arbitrariness of those choices more salient.)
+
+* (Another good book, covering some of the same ground as the previous two, but also delving much deeper into typed lambda calculi, is *Types and Programming Languages*, by Benjamin Pierce, currently $61 on [Amazon](http://www.amazon.com/dp/0262162091). This book has many examples in OCaml.)
+
+* *The Little Schemer, Fourth Edition*, by Daniel P. Friedman and Matthias
+Felleisen, currently $23 on [Amazon](http://www.amazon.com/exec/obidos/ASIN/0262560992).
+This is a classic text introducing the gentle art of programming, using the
+functional programming language Scheme. Many people love this book, but it has
+an unusual dialog format that is not to everybody's taste. **Of particular
+interest for this course** is the explanation of the Y combinator, available as
+a free sample chapter [at the MIT Press web page for the
+book](http://www.ccs.neu.edu/home/matthias/BTLS/).
+
+* *The Seasoned Schemer*, also by Daniel P. Friedman and Matthias Felleisen, currently $28
+on [Amazon](http://www.amazon.com/Seasoned-Schemer-Daniel-P-Friedman/dp/026256100X)
+
+* *The Little MLer*, by Matthias Felleisen and Daniel P. Friedman, currently $27
+on [Amazon](http://www.amazon.com/Little-MLer-Matthias-Felleisen/dp/026256114X).
+This covers some of the same introductory ground as The Little Schemer, but
+this time in ML. It uses another dialect of ML (called SML), instead of OCaml, but there are only
+superficial syntactic differences between these languages. [Here's a translation
+manual between them](http://www.mpi-sws.org/~rossberg/sml-vs-ocaml.html).