From 199df91c71509acb323991d5189ab3b210bab2b2 Mon Sep 17 00:00:00 2001 From: Tissevert Date: Sun, 5 May 2019 12:27:03 +0200 Subject: [PATCH] Give up about the annoying breaking change in base about Monoid / Semigroup --- src/Stream.hs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Stream.hs b/src/Stream.hs index 2d1b5d7..1de142d 100644 --- a/src/Stream.hs +++ b/src/Stream.hs @@ -10,10 +10,12 @@ import Data.List (intercalate) data Stream a = Stream [(a, Stream a)] deriving Show -instance Monoid (Stream a) where - mempty = fromList [] - mappend (Stream []) b = b - mappend (Stream pairs) b = Stream $ (\(a, stream) -> (a, stream `mappend` b)) <$> pairs +empty :: Stream a +empty = fromList [] + +append :: Stream a -> Stream a -> Stream a +append (Stream []) b = b +append (Stream pairs) b = Stream $ (\(a, stream) -> (a, stream `append` b)) <$> pairs fromList :: [a] -> Stream a fromList [] = Stream []