In computer programming, a pure function is a function that has the following properties:
- The function return values are identical for identical arguments (no variation with local static variables, non-local variables, mutable reference arguments or input streams).
- The function application has no side-effects
- no mutation of local static variables, non-local variables, mutable reference arguments or input/output streams
The pure functions are functions which will always return the same output for a given input and not change the state of the world around them.