(Idempotence means f(f(x)) = f(x), whereas purity means f(x) = f(x).)
There are multiple definitions of idempotence, used even within computer science, and neither of you seem to be aware of the definition used by the other. The common mathematical definition of an idempotent function is that f(f(x)) = f(x) for all x. But in computer science there is another common definition which involves side effects not being repeated (that is, `f(); f();` is the same as `f();`).
where have you ever seen that definition ?!
https://en.wikipedia.org/wiki/Idempotence#Computer_science_m...