Prerequisites
- Basic functional programming
- Recursion
- Recursive data structures, such as lists and trees,
- Standard functions, e.g., append, member, last, reverse, map, filter, fold
- The ability to define the above functions
- Basic complexity issues, e.g., the complexity of the above functions
- Simple higher order programming
- Closures
- The concept of tail recursion and the benefits of it
- Basic understanding of type inference
- Curried functions