Références: [FK93],[vdBFAvG93],[KS86b] D'après l'étude de
Guy TRAMBLAY [Tre94,TG95], l'évaluation indulgente (une
forme particulière de l'évaluation paresseuse) semble être une forme très
courante en pratique. En effet, il montre que quasiment, tous les
programmes décrits comme étant paresseuses dans la litérature, ne sont en
rèalité que des programmes indulgents. Il est important de faire le parallèle
avec nos travaux [AP94] sur la compilation efficace de TYPOL que
nous avons poursuivi avec Isabelle ATTALI. En effet, cela montre que les
grammaires attribuées sont une forme abstraite pour deux modèles de
programmation (de calcul) bien différent (d'un point de vue externe). Les
travaux sur l'évaluation indulgente (sur le Langage ID [SG95] ou encore HP
de [SCG95]) sont souvent liés à l'évaluation parallèle. Il
serait donc intéressant de relier ici nos travaux sur l'évaluation parallèle
d'attributs (cf la section 2.8) et nos algorithmes de
transformation de grammaires attribuées (cf la section 2.9).
L'autre intérêt de notre approche est de fournir à l'utilisateur une puissance d'expression comparable à celle que procure le style de programmation paresseux, sans pour autant avoir tous les désavantages de l'efficacité du code produits, surtout en terme d'espace mémoire. En effet, nos premières expériences, en utilisant le langage HASKELL ont bien mis en évidence ce gain d'espace mémoire. Il est important de remarquer que nous avons les mêmes motivations, en terme d'occupation mémoire, que pour la compilation efficace de TYPOL (voir la section 5). Mais, pour faire des comparaisons qui ont un sens, il est nécessaire (hélas) d'insérer cette analyse dans une chaîne complète d'un compilateur fonctionnel. En effet, lors de ces expériences (même pour la compilation efficace de TYPOL [AP94]), il est très difficile de valider correctement le gain de notre approche, d'autant plus lorsque le modèle de calcul change. Il est nécessaire de se ramener toujours au même modèle d'exécution et de comparer la forme non optimisée à la forme optimisée dans ce même modèle de calcul.