Hi > > Are CAF's specified in the Haskell report? I couldn't find them mentioned. > > CAF is a term of art. If you define > > fred = 2 + 2 > > that's a CAF.
I should have been more precise with my question. Given the code: fred = 2 + 2 bob = fred + fred In a Haskell implementation fred would be evaluated once to 4, then used twice. The 2+2 would only happen once (ignore defaulting and overloaded numerics for now). Is this sharing mandated by the standard? (I don't think so) Is there some paper that describes why this is desirable, and gives any detail? > > If not, why do all Haskell compilers support them? > > How could they not? I'm not sure I understand your question. Do all Haskell compilers support the sharing. Thanks Neil _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe