Langages fonctionnels non-stricts: De la paresse et de l'indulgence

Qu'est-ce qu'un langage fonctionnel non-strict? Qu'est-ce qu'un langage paresseux? Un langage non-strict est-il nécessairement paresseux? Dans cet exposé, nous tentons d'apporter des éléments de réponse à ces questions. Dans un premier temps, nous présentons informellement, à l'aide d'exemples, les divers modes d'évaluation (strict, indulgent, paresseux), en insistant plus particulièrement sur les caractéristiques de l'évaluation non-stricte mais non-paresseuse (indulgente) vs. l'évaluation paresseuse. Nous présentons ensuite un opérationnel (en LOTOS) permettant formaliser les différences existant, dans un contexte parallèle, entre les divers modes d'évaluation. Ce modèle permet de mieux comprendre pourquoi l'évaluation indulgente peut être particulièrement intéressante pour la programmation parallèle.

Pour obtenir les acétates

Cliquez ici pour obtenir les acétates (postscript).