+ 1
pure functions
Is it correct to say: "A function is pure if it doesn't change the state/value of any variable external to it.", meaning it only operates on variables whose scope doesn't exceed the function's body. Btw I don't the difference between state and value of a variable or if there is one, hence the / above.
2 Answers
+ 7
Ben's definition is right: A pure function is supposed to not interact with the outside world at all, except via arguments and return value.
That means you can't open files and can't generate a random number and can't even print out stuff, because all of it will need interaction with the operating system.
+ 1
I did not fully get what you meant, but I would say: "Pure function is a function, that does not touch global namespace."