Module 12 Study Guide
Learning Objectives (Haskell, CPL Ch.15)
In this second Haskell programming module, we will learn some more advanced and powerful features of the the language. Specifically, by the end of the module you should be able to
- Understand currying and be able to use it in defining functions
- Use
map
andfilter
functions - Use
let
andwhere
- Indent code properly
- Understand algebraic data type definitions
- Use case expressions for pattern matching
- Define functions over recursive data structures
Resources
- CPL Chapter 15
- Learn You a Haskell For Great Good! tutorial
- Wikibook
- Quick reference
- Functional Thinking Safari E-book
- Real World Haskell Safari E-book
- Hoogle Haskell Reference (Prelude)
Lab
Please complete the lab. You may begin it any time. You should try to finish it by Wednesday so you can start working on the programming assignment in class on Thursday (please bring your computer).
There is also an optional lab that you can complete if you are interested in seeing how I/O works in a purely functional language like Haskell.
Programming Assignment
Please complete the project and submit your code on Canvas by the due date.