Évaluation paresseuse

Un article de Wikipédia, l'encyclopédie libre.

L'évaluation paresseuse est une technique de programmation où le programme n'exécute pas de code avant que les résultats de ce code ne soient réellement nécessaires. Le terme paresseux étant connoté négativement en français (il est cependant ici utilisé, comme souvent, en raison d'une traduction littérale de l'anglais lazy), il est peut-être préférable de parler d'évaluation retardée.

Un exemple d'évaluation paresseuse est la technique de copy on write où le système ne copie pas réellement les données, tant qu'il n'y a pas eu de modification. Comme tout bon paresseux, il espère que la copie ne sera peut-être pas nécessaire.

Dans un langage comme Haskell, l'évaluation est paresseuse par défaut.

Cette technique peut être utilisée à des fins d'optimisation (éviter de calculer un résultat qui pourrait ne pas être utilisé) mais permet aussi des constructions originales impossibles sinon, comme par exemple la définition d'une suite infinie. En évaluation immédiate, l'ordinateur tenterait d'évaluer à l'infini et ne teminerait jamais. Avec l'évaluation retardée, seuls les termes réellement utilisés de la suite seront évalués.