- a programming paradigm characterized by the use of mathematical functions and the avoidance of unintentional side effects
- a programming style that uses only pure functions without side effects
note that programs need side effects to carry out action such as sending email, saving to db etc...
When functional programmers look at code, they immediately begin to classify code into three categories:
- Actions
- Calculations
- Data
- Distinguishing actions, calculations, and data
- Using first-class abstractions: FP reuse more procedures by passing in proce- dures to the procedures.