Évaluation paresseuse

Cet article est une ébauche concernant l’informatique et l’informatique théorique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

L’évaluation paresseuse (en anglais : lazy evaluation), appelée aussi appel par nécessité ou évaluation retardée est une technique d'implémentation des programmes récursifs pour laquelle l'évaluation d'un paramètre de fonction ne se fait pas avant que les résultats de cette évaluation ne soient réellement nécessaires. Ces résultats, une fois calculés, sont préservés pour des réutilisations ultérieures.

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

Usage

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, qui seraient impossibles à envisager sans une telle approche, comme la définition d'une suite infinie. En évaluation immédiate, le programme tenterait d'évaluer indéfiniment et ne terminerait jamais. Avec l'évaluation retardée, seuls les termes de la suite effectivement utilisés seront évalués et ce au moment où on en a besoin.

Références

Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?

Bibliographie

  • (en) Paul Hudak, « Conception, Evolution, and Application of Functional Programming Languages », ACM Computing Surveys, vol. 21, no 3,‎ , p. 383–385 (lire en ligne)
  • (en) John C. Reynolds, Theories of Programming Languages, Cambridge University Press, (ISBN 978-0-521-59414-1, lire en ligne)

Voir aussi

Cadre général

Techniques apparentées

  • Stratégie d'évaluation (informatique)
  • Mémoïsation
  • Copy-On-Write
  • icône décorative Portail de la programmation informatique