
19 May
2009
19 May
'09
2:23 a.m.
2009/05/18 Miguel Mitrofanov
On 19 May 2009, at 09:06, Ryan Ingram wrote:
This is a common problem with trying to use do-notation; there are some cases where you can't make the object an instance of Monad. The same problem holds for Data.Set; you'd can write
setBind :: Ord b => Set a -> (a -> Set b) -> Set b setBind m f = unions (map f $ toList m)
but there is no way to use setBind for a definition of >>=
You can use a continuation trick.
Trick? -- Jason Dusek