Monad?
This commit is contained in:
parent
dd3c3b1d9e
commit
897ae2da62
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user