add missing Alternative instance to support the A.M.P.

This commit is contained in:
Jesse D. McDonald 2015-01-24 22:23:41 -06:00
parent 9fcbb1cf77
commit cbc2b5becb
1 changed files with 6 additions and 2 deletions

View File

@ -312,9 +312,13 @@ instance Monad Waterdeep where
(Waterdeep m) >>= f = Waterdeep (m >>= unWaterdeep . f)
fail = Waterdeep . fail
instance Alternative Waterdeep where
empty = Waterdeep empty
Waterdeep m <|> Waterdeep n = Waterdeep (m <|> n)
instance MonadPlus Waterdeep where
mzero = Waterdeep mzero
(Waterdeep m) `mplus` (Waterdeep n) = Waterdeep (m `mplus` n)
mzero = empty
mplus = (<|>)
instance MonadState WaterdeepState Waterdeep where
state = Waterdeep . lift . state