PR Stanley wrote:
Hi
or = foldl (||) False
and = foldl (&&) True
I can understand the rationale for the accumulator value - True && [] where [] = True and True || [] where [] = False Other than the practical convenience is there a reason for having the empty list in and and or equating to True and False?
Thanks, Paul

Another way to think about this is to look at

> any p = or . map p
> all p = and . map p

Now, "all even []" should hold, since everything in that list is even. But not "any even []" because there is no even number in the empty list.

Twan
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to