From cbc2b5becb294c2690b344491b57af64810a84b0 Mon Sep 17 00:00:00 2001 From: Jesse McDonald Date: Sat, 24 Jan 2015 22:23:41 -0600 Subject: [PATCH] add missing Alternative instance to support the A.M.P. --- src/Waterdeep/Types.hs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Waterdeep/Types.hs b/src/Waterdeep/Types.hs index 20be86a..4899cd7 100644 --- a/src/Waterdeep/Types.hs +++ b/src/Waterdeep/Types.hs @@ -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