For functions or computations we have terms like:
- Deterministic – Determinism
- Pure – Purity
Now what is the correct corresponding noun for side-effect-free?
"Side-effect freeness"? "Side-effect freedom"? "Non-side-effective"?
Computer Science Stack Exchange is a question and answer site for students, researchers and practitioners of computer science. It only takes a minute to sign up.
Sign up to join this communityFor functions or computations we have terms like:
Now what is the correct corresponding noun for side-effect-free?
"Side-effect freeness"? "Side-effect freedom"? "Non-side-effective"?
A good rule of thumb for grammatical questions is, if it's so complicated that you need to ask, it's better to just rephrase the sentence. For example, "Side-effect-freedom of the function guarantees X" is more simply and elegantly written, "Because the function is side-effect free, X is guaranteed" or even, "The function has no side-effects, so X is guaranteed."
Having said that, keywords for articles are expected to be noun phrases so that would be a place to use "side-effect freedom".
(By the way, "non-side-effective" is an adjective.)
Depending on the context, "absence of side-effects" may be a more readable term.
The word is nullipotence, the noun form of nullipotent. From the first definition on Wiktionary:
(mathematics, computing) Describing an action which has no side effect. Queries are typically nullipotent: they return useful data, but do not change the data structure queried. Contrast with idempotent.
(emphasis mine)
nullpotent
and nilpotent
.
$\endgroup$
– Val
Nov 6 '13 at 11:33
I learned this concept as referential transparency.
However, there is some debate as to whether or not this is actually a meaningful term, so if you're going to use it in a paper, you should define it first.
Side-effect freedom, is what I would use.
If running the function multiple times has the same net effect on the system as running it once, the function is idempotent and has idempotency. Don't know if that's what you're looking for.
chmod
: you can re-run it several times, it won't do more than the first time (unless files changed in between...). There are many others. It is not exactly "side effect free" however as it does change things and could prevent other programs to do something too, once the permission changes.
$\endgroup$
– Olivier Dulac
Nov 5 '13 at 17:55
You almost got it with "side effect freedom". The problem is that this possibly means that the side effects are free (as in "freedom of side effects"). To be clear, you need "freedom from side effects". And note how "free of" does not pair with "freedom of"; both "free of something" and "free from something" go to "freedom from something".
In general, you will find that compound noun phrases whose head is "freedom" are instinctively eschewed by native speakers of English, even though they are grammatical. For instance "freedom of speech" and "freedom from oppression" are not called "speech freedom" and "oppression freedom". The meaning could be worked out from context ("speech freedom" probably isn't "freedom from speech", and "oppression freedom" isn't "freedom to oppress") but the forms are simply not euphonic. Even if that is merely from disuse, it is the way it is.
Academic papers in CS are also written for a world audience which includes non-native English speakers. If you're able, then write like a native English speaker.
You probably want "orthogonality". It seems to fit your definition exactly.