Summary

Summary of the key concepts covered in this activity

The basic mechanism for computing on any datastructure in Haskell is recursion. Recursion always has a base case and an induction case. For lists, the base case is the empty list [],
the induction case is adding an element to the list x:xs

For list operations, it is usually easier
to use higher-order functions
like map (performing an operation on every element of a list)
and foldl/foldr (reducing a list to a single value). Sometimes these functions are referred to as list combinators.