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. BTW this operator is exported as (!>>=) by System.IO.Lazy.Input.Extra. By using the rmonad we could add this NFData constraint, but that's not like having a Monad instance directly. Best regards, -- Nicolas Pouillard _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe