[Haskell-cafe] Re: Is id strict?

Jón Fairbairn 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 mailing list