[Haskell-cafe] Re: CAF's in Haskell
Neil Mitchell
ndmitchell at gmail.com
Wed Dec 26 13:16:34 EST 2007
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
More information about the Haskell-Cafe
mailing list