I’m trying to remember a word, I think it’s related to computational or database theory. The closest synonym is atomic
but that’s not exactly it. Basically it’s a kind of computation that should produce the same result even when run multiple times in a row, meaning it doesn’t create side effects for itself.
I specifically ran across this word in a Stack Overflow answer about a chmod command (or some other permission related operation).
Hopefully that’s enough to go on. Poking around Wikipedia isn’t much help.
4
You might be thinking of “Idempotent”.
Idempotence is the property of certain operations in mathematics and computer science, that they can be applied multiple times without changing the result beyond the initial application.
6
The general word is Idempotence which applies to both computers and to mathematics. It is not the same thing as Reentrant which it often gets confused with. Idempotence is precisely what you described, Reentrant is basically interruptible with the ability to pick up exactly where you left off.
Purely Functional languages like Haskell are built around the principle of being as close to Idempotent as is possible. The first three letters of the acronym ACID in Database Theory are Idempotence as applied to Databases.
You might be looking for a pure function.
As defined in the link, two conditions make a function pure:
- The function always evaluates the same result value given the same argument value(s).
- Evaluation of the result does not cause any semantically observable side effect or output, such as mutation of mutable objects or output
to I/O devices.
2
In linear algebra linear, idempotent functions are called projections. Maybe that’s the word you’re looking for. 🙂
http://en.wikipedia.org/wiki/Projection_(linear_algebra)
Another possibility is deterministic.
In computer science, a deterministic algorithm is an algorithm which,
given a particular input, will always produce the same output, with
the underlying machine always passing through the same sequence of
states.
3