presburger 1.2 → 1.3
raw patch · 2 files changed
+10/−2 lines, 2 filesdep ~basedep ~containersdep ~presburger
Dependency ranges changed: base, containers, presburger
Files
- presburger.cabal +1/−1
- src/Data/Integer/SAT.hs +9/−1
presburger.cabal view
@@ -1,5 +1,5 @@ Name: presburger-Version: 1.2+Version: 1.3 License: BSD3 License-file: LICENSE Author: Iavor S. Diatchki
src/Data/Integer/SAT.hs view
@@ -47,7 +47,7 @@ import qualified Data.Map as Map import Data.List(partition) import Data.Maybe(maybeToList,fromMaybe,mapMaybe)-import Control.Applicative(Applicative(..), (<$>))+import Control.Applicative(Applicative(..), Alternative(..), (<$>)) import Control.Monad(liftM,ap,MonadPlus(..),guard) import Text.PrettyPrint @@ -710,6 +710,10 @@ One a >>= k = k a Choice m1 m2 >>= k = mplus (m1 >>= k) (m2 >>= k) +instance Alternative Answer where+ empty = mzero+ (<|>) = mplus+ instance MonadPlus Answer where mzero = None mplus None x = x@@ -733,6 +737,10 @@ S m >>= k = S $ \s -> do (a,s1) <- m s let S m1 = k a m1 s1++instance Alternative S where+ empty = mzero+ (<|>) = mplus instance MonadPlus S where mzero = S $ \_ -> mzero