By Alvin Alexander. Last updated: March 19, 2024

Lately as I’ve been writing and editing Functional Programming, Simplified: Updated for Scala 3, I’ve had the thought, could *Functional Programming (FP)* 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).

Anyhoo, that’s just a random thought for the day.

Update: A few related notes:

- Functional programmers also use the term “blueprint” a lot, so there might be another possible name in there (something like Blueprint Programming).
- 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.