Pure functions are functions that do not possess any side effects; in other words, they do not change or alter any data or state outside of themselves. Additionally, they do not access any data or state except their provided parameters. Pure functions are like mathematical functions that are pure by nature.
Pure functions return a value that is only determined by its parameter values. Pure functions are easy to test as they rely only on their parameters and do not change or access any data or state outside of themselves. Pure functions are suitable for concurrency as they do not access and change global data or states.
The following list presents examples of pure and not pure functions:
- Printing a String literal to a console is not pure as it modifies an external state.
- Reading a file is not pure as it depends on the external state at different times.
- The length of a String is pure as it does not...