boolean-normal-forms 0.0.1 → 0.0.1.1
raw patch · 5 files changed
+105/−68 lines, 5 filesdep ~QuickCheckdep ~basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: QuickCheck, base
API changes (from Hackage documentation)
- Data.Algebra.Boolean.CNF.Set: instance (GHC.Classes.Ord a, GHC.Read.Read a) => GHC.Read.Read (Data.Algebra.Boolean.CNF.Set.CNF a)
- Data.Algebra.Boolean.CoBoolean: instance Data.Algebra.Boolean.CoBoolean.CoBoolean (GHC.Base.Maybe a)
- Data.Algebra.Boolean.CoBoolean: instance Data.Algebra.Boolean.CoBoolean.CoBoolean1 GHC.Base.Maybe
- Data.Algebra.Boolean.DNF.Set: instance (GHC.Classes.Ord a, GHC.Read.Read a) => GHC.Read.Read (Data.Algebra.Boolean.DNF.Set.DNF a)
- Data.Algebra.Boolean.NNF.Set: instance (GHC.Classes.Ord a, GHC.Read.Read a) => GHC.Read.Read (Data.Algebra.Boolean.NNF.Set.NNF a)
- Data.Algebra.Boolean.Negable: instance GHC.Base.Monoid m => Data.Algebra.Boolean.Negable.Negable (GHC.Base.Maybe m)
+ Data.Algebra.Boolean.CNF.Set: instance (GHC.Read.Read a, GHC.Classes.Ord a) => GHC.Read.Read (Data.Algebra.Boolean.CNF.Set.CNF a)
+ Data.Algebra.Boolean.CoBoolean: instance Data.Algebra.Boolean.CoBoolean.CoBoolean (GHC.Maybe.Maybe a)
+ Data.Algebra.Boolean.CoBoolean: instance Data.Algebra.Boolean.CoBoolean.CoBoolean1 GHC.Maybe.Maybe
+ Data.Algebra.Boolean.DNF.Set: instance (GHC.Read.Read a, GHC.Classes.Ord a) => GHC.Read.Read (Data.Algebra.Boolean.DNF.Set.DNF a)
+ Data.Algebra.Boolean.NNF.Set: instance (GHC.Read.Read a, GHC.Classes.Ord a) => GHC.Read.Read (Data.Algebra.Boolean.NNF.Set.NNF a)
+ Data.Algebra.Boolean.Negable: instance GHC.Base.Monoid m => Data.Algebra.Boolean.Negable.Negable (GHC.Maybe.Maybe m)
+ Data.Algebra.Boolean.NormalForm: -- implementations could be included.
+ Data.Algebra.Boolean.NormalForm: -- | <a>NormalForm</a> could be constrained, so the <tt>Set</tt> based
- Data.Algebra.Boolean.CNF.Set: fromDoubleList :: (Ord a) => [[a]] -> CNF a
+ Data.Algebra.Boolean.CNF.Set: fromDoubleList :: Ord a => [[a]] -> CNF a
- Data.Algebra.Boolean.DNF.Set: fromDoubleList :: (Ord a) => [[a]] -> DNF a
+ Data.Algebra.Boolean.DNF.Set: fromDoubleList :: Ord a => [[a]] -> DNF a
- Data.Algebra.Boolean.FreeBoolean: FBAnd :: (FreeBoolean a) -> (FreeBoolean a) -> FreeBoolean a
+ Data.Algebra.Boolean.FreeBoolean: FBAnd :: FreeBoolean a -> FreeBoolean a -> FreeBoolean a
- Data.Algebra.Boolean.FreeBoolean: FBNot :: (FreeBoolean a) -> FreeBoolean a
+ Data.Algebra.Boolean.FreeBoolean: FBNot :: FreeBoolean a -> FreeBoolean a
- Data.Algebra.Boolean.FreeBoolean: FBOr :: (FreeBoolean a) -> (FreeBoolean a) -> FreeBoolean a
+ Data.Algebra.Boolean.FreeBoolean: FBOr :: FreeBoolean a -> FreeBoolean a -> FreeBoolean a
- Data.Algebra.Boolean.NNF.Set: NNFAnd :: (Set (NNF a)) -> NNF a
+ Data.Algebra.Boolean.NNF.Set: NNFAnd :: Set (NNF a) -> NNF a
- Data.Algebra.Boolean.NNF.Set: NNFOr :: (Set (NNF a)) -> NNF a
+ Data.Algebra.Boolean.NNF.Set: NNFOr :: Set (NNF a) -> NNF a
- Data.Algebra.Boolean.NNF.Tree: NNFAnd :: (NNF a) -> (NNF a) -> NNF a
+ Data.Algebra.Boolean.NNF.Tree: NNFAnd :: NNF a -> NNF a -> NNF a
- Data.Algebra.Boolean.NNF.Tree: NNFOr :: (NNF a) -> (NNF a) -> NNF a
+ Data.Algebra.Boolean.NNF.Tree: NNFOr :: NNF a -> NNF a -> NNF a
- Data.Algebra.Boolean.NormalForm: class CoBoolean1 nf => NormalForm nf where type NFConstraint nf a :: Constraint type NFConstraint nf a = () where {
+ Data.Algebra.Boolean.NormalForm: class CoBoolean1 nf => NormalForm nf where {
Files
- boolean-normal-forms.cabal +85/−68
- src/Data/Algebra/Boolean/CNF/List.hs +5/−0
- src/Data/Algebra/Boolean/CNF/Set.hs +5/−0
- src/Data/Algebra/Boolean/DNF/List.hs +5/−0
- src/Data/Algebra/Boolean/DNF/Set.hs +5/−0
boolean-normal-forms.cabal view
@@ -1,73 +1,90 @@-name: boolean-normal-forms-version: 0.0.1-synopsis: Boolean normal form: NNF, DNF & CNF-description: The provided types that might be useful in symbolic manipulation of propositional logic expressions.-license: MIT-license-file: LICENSE-author: Oleg Grenrus-maintainer: oleg.grenrus@iki.fi-copyright: © Oleg Grenrus 2014-category: Data-build-type: Simple-cabal-version: >=1.18-extra-source-files: README.md CHANGELOG.md-extra-doc-files: doc-formulae/*.svg+name: boolean-normal-forms+version: 0.0.1.1+synopsis: Boolean normal form: NNF, DNF & CNF+description:+ The provided types that might be useful in symbolic manipulation of propositional logic expressions.++license: MIT+license-file: LICENSE+author: Oleg Grenrus+maintainer: oleg.grenrus@iki.fi+copyright: © Oleg Grenrus 2014+category: Data+build-type: Simple+cabal-version: >=1.18+extra-source-files:+ README.md+ CHANGELOG.md++extra-doc-files: doc-formulae/*.svg tested-with:- GHC==7.6.3,- GHC==7.8.4,- GHC==7.10.3,- GHC==8.0.2,- GHC==8.2.2+ GHC ==7.6.3+ || ==7.8.4+ || ==7.10.3+ || ==8.0.2+ || ==8.2.2+ || ==8.4.3+ || ==8.6.5+ || ==8.8.1 library- hs-source-dirs: src- exposed-modules: Data.Algebra.Boolean.NormalForm,- Data.Algebra.Boolean.FreeBoolean,- Data.Algebra.Boolean.NNF,- Data.Algebra.Boolean.DNF,- Data.Algebra.Boolean.CNF,- Data.Algebra.Boolean.Negable,- Data.Algebra.Boolean.CoBoolean,- Data.Algebra.Boolean.NNF.Set,- Data.Algebra.Boolean.NNF.Tree,- Data.Algebra.Boolean.DNF.List,- Data.Algebra.Boolean.DNF.Set,- Data.Algebra.Boolean.CNF.List,- Data.Algebra.Boolean.CNF.Set- other-extensions: DeriveFunctor,- DeriveDataTypeable,- ConstraintKinds,- TypeFamilies,- ScopedTypeVariables- build-depends: base >=4.6 && <4.11,- containers >=0.5 && <0.6,- cond >=0.4.1 && <0.5,- deepseq >=1.1.0.0 && <1.5- default-language: Haskell2010- ghc-options: -Wall+ hs-source-dirs: src+ exposed-modules:+ Data.Algebra.Boolean.CNF+ Data.Algebra.Boolean.CNF.List+ Data.Algebra.Boolean.CNF.Set+ Data.Algebra.Boolean.CoBoolean+ Data.Algebra.Boolean.DNF+ Data.Algebra.Boolean.DNF.List+ Data.Algebra.Boolean.DNF.Set+ Data.Algebra.Boolean.FreeBoolean+ Data.Algebra.Boolean.NNF+ Data.Algebra.Boolean.NNF.Set+ Data.Algebra.Boolean.NNF.Tree+ Data.Algebra.Boolean.Negable+ Data.Algebra.Boolean.NormalForm + other-extensions:+ ConstraintKinds+ DeriveDataTypeable+ DeriveFunctor+ ScopedTypeVariables+ TypeFamilies++ build-depends:+ base >=4.6 && <4.14+ , cond >=0.4.1 && <0.5+ , containers >=0.5 && <0.7+ , deepseq >=1.1.0.0 && <1.5++ default-language: Haskell2010+ ghc-options: -Wall+ test-suite test- default-language: Haskell2010- type: exitcode-stdio-1.0- hs-source-dirs: tests- main-is: Main.hs- other-modules: BooleanLaws,- BooleanModelLaws,- CNFList,- CNFSet,- DNFList,- DNFSet,- FreeBoolean,- FreeBooleanTests,- NegableLaws,- NNFSet,- NNFTree,- SimplifyLaws- ghc-options: -Wall -fno-warn-orphans- build-depends: base,- containers,- cond,- tasty >=0.8,- tasty-quickcheck >=0.8.0.3,- QuickCheck >=2.10 && <2.11,- boolean-normal-forms+ default-language: Haskell2010+ type: exitcode-stdio-1.0+ hs-source-dirs: tests+ main-is: Main.hs+ other-modules:+ BooleanLaws+ BooleanModelLaws+ CNFList+ CNFSet+ DNFList+ DNFSet+ FreeBoolean+ FreeBooleanTests+ NNFSet+ NNFTree+ NegableLaws+ SimplifyLaws++ ghc-options: -Wall -fno-warn-orphans+ build-depends:+ base+ , boolean-normal-forms+ , cond+ , containers+ , QuickCheck >=2.10 && <2.14+ , tasty >=0.8+ , tasty-quickcheck >=0.8.0.3
src/Data/Algebra/Boolean/CNF/List.hs view
@@ -2,6 +2,7 @@ {-# LANGUAGE DeriveFoldable #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE CPP #-} -------------------------------------------------------------------- -- | -- Copyright : © Oleg Grenrus 2014@@ -20,7 +21,11 @@ ) where import Prelude hiding ((||),(&&),not,any,all,and,or)++#if !MIN_VERSION_base(4,11,0) import Data.Monoid+#endif+ import Data.Either (partitionEithers) import Data.Typeable (Typeable) import Data.Foldable (Foldable)
src/Data/Algebra/Boolean/CNF/Set.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DeriveFoldable #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE CPP #-} -------------------------------------------------------------------- -- | -- Copyright : © Oleg Grenrus 2014@@ -19,7 +20,11 @@ ) where import Prelude hiding ((||),(&&),not,and,or,any,all)++#if !MIN_VERSION_base(4,11,0) import Data.Monoid+#endif+ import Data.Typeable (Typeable) import Data.Foldable (Foldable) import Control.DeepSeq (NFData(rnf))
src/Data/Algebra/Boolean/DNF/List.hs view
@@ -2,6 +2,7 @@ {-# LANGUAGE DeriveFoldable #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE CPP #-} -------------------------------------------------------------------- -- | -- Copyright : © Oleg Grenrus 2014@@ -20,7 +21,11 @@ ) where import Prelude hiding ((||),(&&),not,any,all,and,or)++#if !MIN_VERSION_base(4,11,0) import Data.Monoid+#endif+ import Data.Either (partitionEithers) import Data.Typeable (Typeable) import Data.Foldable (Foldable)
src/Data/Algebra/Boolean/DNF/Set.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DeriveFoldable #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE CPP #-} -------------------------------------------------------------------- -- | -- Copyright : © Oleg Grenrus 2014@@ -19,7 +20,11 @@ ) where import Prelude hiding ((||),(&&),not,and,or,any,all)++#if !MIN_VERSION_base(4,11,0) import Data.Monoid+#endif+ import Data.Typeable (Typeable) import Data.Foldable (Foldable) import Control.DeepSeq (NFData(rnf))