By Alvin Alexander. Last updated: February 21, 2024

Lately as I’ve been writing and editing Functional Programming, Simplified: Updated for Scala 3, I’ve had the thought, could *Functional Programming* be called *Algebraic Programming*? That is, is algebraic programming a more accurate term for this style of programming?

The reason I say this is because, yes, FP is about pure functions, higher-order functions, functions as values, referential transparency, etc., but it’s also about domain modeling (ADTs), immutable variables (algebraic) and immutable data, errors as values, and EOP (expressions as equations).

Other notes:

- Functional programmers also use the term “blueprint” a lot, so that’s another possible name.
- I’ve read that other people use the name
*mathematical functions*when talking about what I call*pure functions* - To be clear, I’m not calling for a name change or anything like that, just observing that Algebraic Programming may be a more accurate name.