L’évaluation paresseuse (), 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

Bibliographie

Voir aussi Cadre général Algorithme récursif Sémantique des langages de programmation

Techniques apparentées Stratégie d'évaluation (informatique) Mémoïsation Copy-On-Write

Catégorie:Calculabilité Catégorie:Logique mathématique Catégorie:Programmation fonctionnelle Catégorie:Langage de programmation Catégorie:Théorie de la compilation Catégorie:Méthode formelle