26 Oct
2005
26 Oct
'05
1:05 a.m.
Hello, These instances overlap, which is not allowed in Haskell. -Iavor On 10/24/05, Marc A. Ziegert <coeus@gmx.de> wrote:
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 (:))