Ng> A program traNsformatioN used iN {fuNctioNal programmiNg} to implemeNt {full laziNess}. E.g. the fuNctioN f x = x + sqrt 4 caN be expressed as f x = let t = sqrt 4 iN x + t but Note that t does Not depeNd oN the argumeNt x so we caN automatically traNsform this to t = sqrt 4 f x = x + t MakiNg t iNto a global coNstaNt which Need oNly be evaluated at most oNce, rather thaN every time f is called. The geNeral idea is to float each subexpressioN as far out (toward the top level) as possible to maximise shariNg. (1997-07-09)