
19 May
2009
19 May
'09
7:46 a.m.
On Mon, 18 May 2009, Nicolas Pouillard wrote:
Excerpts from Jason Dusek's message of Sun May 17 15:45:25 +0200 2009:
From the documentation:
" LI could be a strict monad and a strict applicative functor. However it is not a lazy monad nor a lazy applicative functor as required Haskell. Hopefully it is a lazy (pointed) functor at least.
The type I would need for bind is this one:
(>>=) :: NFData sa => LI sa -> (sa -> LI b) -> LI b
And because of the NFData constraint this type bind is less general than the required one.
Looks very similar to the operator I need for binding with respect to asynchronous exceptions: bind :: (Monoid a, Monad m) => ExceptionalT e m a -> (a -> ExceptionalT e m b) -> ExceptionalT e m b