"David House" <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe