On 26/07/2015 at 12:23:13 +0900, Fumiaki Kinoshita wrote:
> There is another possible instance:
>
> instance Semigroup a => Monoid (ZipList a) where
> mempty = ZipList []
> mappend (ZipList xs0) (ZipList ys0) = ZipList (mappend xs0 ys0) where
> go (x:xs) (y:ys) = x <> y : go xs ys
> go xs [] = xs
> go [] ys = ys
This breaks the identity law.
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries