Right, forgot about seq there, but the point still holds that there are a very limited number of functions of that type, and in particular, the functions can't decide what to do based on the type parameter 'a'.
- Cale On 14 Oct 2005 05:49:27 -0000, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > --- Cale Gibbard <[EMAIL PROTECTED] wrote: > > > As an example of this sort > of thing, I know that there are only 4 > > values of type a -> Bool (without > the class context). They are the > > constant functions (\x -> True), (\x -> > False), and two kinds of > > failure (\x -> _|_), and _|_, where _|_ is pronounced > "bottom" and > > represents something along the lines of nontermination (aborting > the > > program also counts). > > Not exactly. There are also (\x -> seq x True) > and (\x -> seq x False), neither of which is equivalent to any of the four > functions above. > > Regards, > > Janis Voigtlaender. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe