# Summary

Summary of the key concepts covered in this activity

Haskell programs compute by reduction, i.e. gradually replacing expressions by their values.

A function takes one or more arguments and computes a result. Given the same arguments, the result will always be the same. In Haskell there are no side-effects.

The list is a key data structure. It is quite similar to lists in other languages. However note that Haskell lists are immutable.