[Haskell-cafe] Re: Is id strict?
jon.fairbairn at cl.cam.ac.uk
Sun Jul 30 05:56:53 EDT 2006
"David House" <dmhouse at gmail.com> writes:
> Hi all.
> I've seen two definitions of a 'strict function', which I'm trying to
> unite in my mind:
> 1) f is strict iff f _|_ = _|_.
> 2) f is strict iff it forces evaluation of its arguments.
> There is a large sticking point that in my minds seems to fit (1) but
> not (2): id. Clearly, id undefined is undefined, but I also don't
> think id forces evaluation of its argument. There was a
> mini-discussion concerning this topic last night on #haskell, but if
> there was a consensus conclusion, it passed me by.
> Thanks in advance.
In (2), you have to be evaluating f on an argument before f
can force the argument. If you evaluate id x, you
necessarily evaluate x. I don't think (2) is a very good
definition, since I don't know what "forces" means here.
Jón Fairbairn Jon.Fairbairn at cl.cam.ac.uk
More information about the Haskell-Cafe