web-dev-qa-db-fra.com

Quel est le mot pour une opération pouvant être appliquée plusieurs fois et ne jamais changer d'état au-delà de l'application initiale?

J'essaie de me souvenir d'un mot, je pense C'est lié à la théorie de la calcul ou de la base de données. Le synonyme le plus proche est atomic mais ce n'est pas exactement ça. Fondamentalement, c'est une sorte de calcul qui devrait produire le même résultat même lorsqu'il est exécuté plusieurs fois de suite, ce qui signifie qu'il ne crée pas d'effets secondaires pour elle-même.

J'ai spécifiquement couru sur ce mot dans une réponse de pile Réponse sur une commande CHMOD (ou une autre opération liée à la permission).

Espérons que cela suffit pour continuer. Poker autour de Wikipedia n'est pas beaucoup d'aide.

38
Mark Fox

Le mot général est idempotence qui s'applique aux ordinateurs et aux mathématiques. Ce n'est pas la même chose que réentrant qu'il est souvent confondu avec. L'idempotence est précisément ce que vous avez décrit, reentrant est essentiellement interruptible avec la capacité de récupérer exactement où vous vous êtes arrêté.

Des langages purement fonctionnels comme Haskell sont construits autour du principe d'être aussi proche de l'idempotent que possible. Les trois premières lettres de l'acronyme ACIDE Dans la théorie de la base de données sont l'idempotence appliquée aux bases de données.

12
World Engineer

Vous recherchez peut-être une fonction pure .

Tel que défini dans le lien, deux conditions font une fonction pure:

  1. La fonction évalue toujours la même valeur de résultat compte tenu de la même valeur d'argument.
  2. L'évaluation du résultat ne provoque pas d'effet secondaire ou de sortie sémantiquement observable, telle que la mutation d'objets mutables ou de sortie sur des périphériques d'E/S.
10
Sebastien Julien

En algèbre linéaire linéaire, les fonctions idempotentes sont appelées projections. Peut-être que c'est le mot que vous recherchez. :)

http://fr.wikipedia.org/wiki/projection_ (linear_algebra)

4
Sarien

Une autre possibilité est déterministe .

En informatique, un algorithme déterministe est un algorithme qui, compte tenu d'une entrée particulière, produira toujours la même sortie, la machine sous-jacente qui traverse toujours la même séquence d'états.

0
Graham Borland