In strictly functional programming languages such as Haskell, subprograms can have no side effects, and will always return the same result if repeatedly called with the same arguments.
In strictly functional programming languages such as Haskell, subprograms can have no side effects, which means that the state of the program will not change. Functions will always return the same result if repeatedly called with the same arguments.