Cet article ne cite aucune source et peut contenir des informations erronées (signalé en mai 2024).
Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».
Trouver des sources sur « Évaluation partielle » :
En informatique, l'évaluation partielle consiste à remplacer un programme (ou une fonction ou procédure) généraliste par un programme (ou fonction ou procédure) plus précis, qui sera plus rapide ou plus lisible.
Un exemple en Ocaml serait la fonction d'ordre supérieure suivante aff qui à deux entiers x et y associe la fonction à un argument entier (ici z) transformant l'entier z en x*y + z:
let aff x y = fun z -> x*y + z
Alors aff 0 0 est la fonction identité sur les entiers, et aff 2 0 est la fonction qui double son argument entier.
Evaluer partiellement aff 0 0 consiste à construire le code machine de la fonction identité (plus efficace qu'une fermeture, car on n'y ferait aucune multiplication ou addition)
Usage
Ce remplacement peut concerner par exemple les routines de multiplication de matrices numériques : une fonction générale de multiplication de matrice est plus lente et plus complexe que la fonction particularisée, quand on sait que la matrice de gauche est constante et triangulaire.
Les compilateurs optimisants (notamment GCC ou SBCL) utilisent l'évaluation partielle.