packages feed

logict 0.7.0.2 → 0.7.0.3

raw patch · 4 files changed

+34/−20 lines, 4 filesdep ~base

Dependency ranges changed: base

Files

Control/Monad/Logic.hs view
@@ -3,17 +3,13 @@ -- Module      : Control.Monad.Logic -- Copyright   : (c) Dan Doel -- License     : BSD3------ Maintainer  : dan.doel@gmail.com--- Stability   : experimental--- Portability : non-portable (multi-parameter type classes)+-- Maintainer  : Andrew Lelechenko <andrew.lelechenko@gmail.com> -- -- A backtracking, logic programming monad. -- --    Adapted from the paper---    /Backtracking, Interleaving, and Terminating---        Monad Transformers/, by---    Oleg Kiselyov, Chung-chieh Shan, Daniel P. Friedman, Amr Sabry+--    /Backtracking, Interleaving, and Terminating Monad Transformers/,+--    by Oleg Kiselyov, Chung-chieh Shan, Daniel P. Friedman, Amr Sabry --    (<http://okmij.org/ftp/papers/LogicT.pdf>). ------------------------------------------------------------------------- @@ -58,8 +54,13 @@ import Control.Monad.Error.Class  #if !MIN_VERSION_base(4,8,0)-import Data.Monoid (Monoid(mappend, mempty))+import Data.Monoid (Monoid (..)) #endif++#if MIN_VERSION_base(4,9,0)+import Data.Semigroup (Semigroup (..))+#endif+ import qualified Data.Foldable as F import qualified Data.Traversable as T @@ -101,7 +102,7 @@ -- | Runs a LogicT computation with the specified initial success and -- failure continuations. runLogicT :: LogicT m a -> (a -> m r -> m r) -> m r -> m r-runLogicT = unLogicT+runLogicT (LogicT r) = r  ------------------------------------------------------------------------- -- | The basic Logic monad, for performing backtracking computations@@ -165,6 +166,17 @@ instance MonadPlus (LogicT m) where     mzero = LogicT $ \_ fk -> fk     m1 `mplus` m2 = LogicT $ \sk fk -> unLogicT m1 sk (unLogicT m2 sk fk)++#if MIN_VERSION_base(4,9,0)+instance Semigroup (LogicT m a) where+  (<>) = mplus+  sconcat = foldr1 mplus+#endif++instance Monoid (LogicT m a) where+  mempty = mzero+  mappend = mplus+  mconcat = foldr mplus mzero  instance MonadTrans LogicT where     lift m = LogicT $ \sk fk -> m >>= \a -> sk a fk
Control/Monad/Logic/Class.hs view
@@ -3,18 +3,14 @@ -- Module      : Control.Monad.Logic.Class -- Copyright   : (c) Dan Doel -- License     : BSD3------ Maintainer  : dan.doel@gmail.com--- Stability   : experimental--- Portability : non-portable (multi-parameter type classes)+-- Maintainer  : Andrew Lelechenko <andrew.lelechenko@gmail.com> -- -- A backtracking, logic programming monad. -- --    Adapted from the paper---    /Backtracking, Interleaving, and Terminating---        Monad Transformers/, by---    Oleg Kiselyov, Chung-chieh Shan, Daniel P. Friedman, Amr Sabry---    (<http://okmij.org/ftp/papers/LogicT.pdf>)+--    /Backtracking, Interleaving, and Terminating Monad Transformers/,+--    by Oleg Kiselyov, Chung-chieh Shan, Daniel P. Friedman, Amr Sabry+--    (<http://okmij.org/ftp/papers/LogicT.pdf>). -------------------------------------------------------------------------  {-# LANGUAGE CPP  #-}
changelog.md view
@@ -1,3 +1,7 @@+# 0.7.0.3++* Support GHC 9.0.+ # 0.7.0.2  * Add `Safe` pragmas.
logict.cabal view
@@ -1,5 +1,5 @@ name: logict-version: 0.7.0.2+version: 0.7.0.3 license: BSD3 license-file: LICENSE copyright:@@ -8,7 +8,6 @@   Copyright (c) 2014, Roman Cheplyaka maintainer: Andrew Lelechenko <andrew.lelechenko@gmail.com> author: Dan Doel-tested-with: ghc -any homepage: https://github.com/Bodigrim/logict#readme synopsis: A backtracking logic-programming monad. description:@@ -21,7 +20,8 @@ build-type: Simple extra-source-files:   changelog.md-cabal-version: >=1.9.2+cabal-version: >=1.10+tested-with: GHC ==7.4.2 GHC ==7.6.3 GHC ==7.8.4 GHC ==7.10.3 GHC ==8.0.2 GHC ==8.2.2 GHC ==8.4.4 GHC ==8.6.5 GHC ==8.8.3 GHC ==8.10.1  source-repository head   type: git@@ -31,6 +31,7 @@   exposed-modules:     Control.Monad.Logic     Control.Monad.Logic.Class+  default-language: Haskell2010   ghc-options: -O2 -Wall   build-depends:     base >=2 && <5,@@ -43,6 +44,7 @@ test-suite logict-tests   type: exitcode-stdio-1.0   main-is: Test.hs+  default-language: Haskell2010   ghc-options: -Wall   build-depends:     base >=2 && <5,