Lazi

duplication interne ou externe

Nous disons que lors d'un calcul un calcul est dupliqué si une formule est calculée aux moins deux fois.

Nous distinguons les duplications en internes et externes.

Une duplication est externe si elle provient d'une duplication originelle dans la formule, que ce soit directement par une formule dupliquée (par exemple $L[ 1b, 1b, 0b ] duplique 1b) ou par une fonction non injective (par exemple listMap (constantF 1b) $L[ 1b, 0b ]).

Une duplication est interne si elle provient de l'interpréteur qui, à partir d'une formule unique, la duplique lui-même pour la calculer deux fois. Par exemple le calcul de listMap (f g) $L[ 1b, 0b ], s'il est fait naïvement, aboutit à $L[ f g 1b, f g 0b ] et à calculer deux fois f g.