Évaluation paresseuse
# Évaluation paresseuse

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.

