Maintainer | Toshio Ito <[email protected]> |
---|---|
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Data.Greskell.Logic
Description
Developer note: This module defines Logic
, a data structure for
logic operation tree. There are already similar packages to this
module, but, none of them satisfy our requirements.
Boolean/logic tree data structures
- https://hackage.haskell.org/package/boolean-normal-forms
- https://hackage.haskell.org/package/logic-classes
- https://hackage.haskell.org/package/PropLogic
- https://hackage.haskell.org/package/Logic
- https://hackage.haskell.org/package/boolean-like
Typeclasses about boolean/logic operations
- https://hackage.haskell.org/package/Boolean
- https://hackage.haskell.org/package/cond
Trees that contain heterogeneous values
- http://hackage.haskell.org/package/dual-tree
- http://hackage.haskell.org/package/fingertree
Since: 1.2.0.0
Documentation
A general-purpose logic tree structure. Only the leaf nodes have
values of type a
. The tree is lazy both in value and spine (structure).
Constructors
Leaf a | Leaf node with value |
And (Logic a) [Logic a] | "and" logic operator |
Or (Logic a) [Logic a] | "or" logic operator |
Not (Logic a) | "not" logic operator |