[Haskell-cafe] Re: Grokking monads by not overlooking concatMap
phercek at gmail.com
Mon May 5 13:23:46 EDT 2008
Achim Schneider wrote:
> Peter Hercek <phercek at gmail.com> wrote:
>>> Haskell wins the wickedness of design contest by using [()] and 
>>> as truth values.
>> Maybe you wanted to say: "... by using [()] as True value and  as
>> False value" ... which does not seem that wicked (at least to me).
> Strangely enough, it reads exactly the same to me. IMHO, not working
> like filter is the thing that makes this wicked: guard doesn't care
> about what is returned, you could as well say (\_ -> [("foo","bar")])
Right, should be a list with one element in it to represent True.
So maybe it is a bit worse than C since list with two elements
gives you two True values :-D
On the other side it is nice that guard works the expected way
(using the same implementation) with other MonadPlus-es too.
More information about the Haskell-Cafe