Elements of functional programming

  • arithmetic and boolean expression

  • conditional expression if-else

  • function in recursion, especially tail recursion

  • nesting and lexical scope {}

The key points are: