The applied intersection of Programming Language Theory, Category Theory, and Logic to Computation. Designing a Program around pure functions and immutable data. Essentially, the mathematical way of programming, where functions behave like they do in math, and data consists of mathematical objects that have a single identity, not a changing one. Instead of changing the state of objects, data is transformed by being passed through a composition of functions.

Algebraic Pillars

The function paradigm consists of two pillars of algebraic computation.