
25 Oct
2005
25 Oct
'05
5:05 p.m.
Hello,
These instances overlap, which is not allowed in Haskell.
-Iavor
On 10/24/05, Marc A. Ziegert
Excerpt (revised): [code] class Sequence m where sequence :: [m a] -> m [a]
instance Monad m => Sequence m where sequence = Control.Monad.sequence
instance (Arrow f) => Sequence (f a) where sequence [] = pure (const []) sequence [f] = f >>> pure (:[]) sequence (f:fr) = (f &&& sequence fr) >>> pure (uncurry (:))