This commit is contained in:
pingu 2024-02-29 18:44:41 +01:00
parent dd3c3b1d9e
commit 897ae2da62

View File

@ -19,6 +19,13 @@ instance Applicative GoodList where
(Singleton f) <*> x = fmap f x
(Multiple a b c) <*> x = append (append (fmap a x) (b <*> x)) (fmap c x)
-- Needs to be proven
instance Monad GoodList where
return = pure
Empty >>= _ = Empty
Singleton x >>= f = f x
Multiple a b c >>= f = append (append (f a) (b >>= f)) (f c)
instance Semigroup (GoodList a) where
(<>) = append