Super Functional Programming

Read Chapter 2. A PDF version is also available.