hatt v1.6.0 Release Notes
-
- 📜 The Unicode symbols for logical connectives are now accepted by the parser and command-line program: ¬, ∧, ∨, → and ↔.
- 💥 Breaking API change: the
assignments
function now takes a list of expressions rather than a single expression. - 🆕 New parser which handles operator precedence and associativity. This change entails a dependency bump: Parsec 3 is now required.
- 🛠 Fixed a bug in the
toNNF
function: doubly-negated expressions are now converted into normal form rather than just having the double negation removed. - ➕ Added an
equivalents
function checking whether a list of propositions are all mutually equivalent. - ➕ Added an
implies
function checking whether a set of expressions semantically entail some expression. - ➕ Added a
simplify
function to theNormalForms
module, which simplifies expressions by removing stronger disjuncts and weaker conjuncts, as well as some other simplifications. - The
toCNF
andtoDNF
functions now further simplify their output using thesimplify
function. - ✅ Limit number of expressions tested by QuickCheck to ensure the test suite runs quickly and doesn't eat the test machine.