Code page Caesar Cipher Conditional expressions and Guarded equations Curried functions Programming in Haskell by Graham Hutton Lambda expressions Lists Pattern matching Recursive functions Strings type class type class constraint