Scala supports all FP features. However, it is not easy to cover them in a single chapter. So we will discuss only the following few important FP features in this chapter:
- Pure functions
 - Immutability (Immutable data)
 - Referential transparency
 - Functions are first-class citizens
 - Anonymous functions
 - Higher-Order Functions (HOF)
 - Currying
 - Tail recursion
 - Implicit
 - Typeclasses