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 expression-oriented programming (expressions as equations).
Anyhoo, that’s just a random thought for the day.
As a little update some time later, here are a few additional 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.