Roman Cheplyaka <r...@ro-che.info> wrote:

> - what do you need unsafeCoerce for?

The unsafeCoerce is needed because the library is severely broken.
Consider this:

    do onlyIf False
       x <- c
       onlyIf True
       return x

There is a good reason why Haskell's type system would never have
allowed to write this library.  I recommend the author to try again
without unsafeCoerce.  It won't work.

Also I'm quite sure that the monads don't have associative (>>) either.
Consider this:

    yes = onlyIf True
    no  = onlyIf False

    yes >> x >> no >> y

According to the intended semantics this should result in 'x', but what
does

    yes >> (x >> no) >> y

result in?


Greets,
Ertugrul

-- 
Not to be or to be and (not to be or to be and (not to be or to be and
(not to be or to be and ... that is the list monad.

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to