> 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();`).
It’s used commonly when working with unreliable communication (e.g. networking). For example, if you make a request but you don’t get a response, either the request or the response might have failed to send. It’s convenient if you don’t need to determine which case occurred; idempotent functions free you from worrying about whether the requested action was carried out.
where have you ever seen that definition ?!