Could Functional Programming be called Algebraic Programming?

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.