hatt v1.5.0 Release Notes

    • 💥 Breaking API change: variables are now represented by a newtype wrapper Var around Chars, rather than just a String. This made it easier to write a good QuickCheck instance for this type.
    • ➕ Added QuickCheck instances for the Expr and Var datatypes.
    • ➕ Added a module to perform conversions of expressions to various normal forms, including negation normal form, conjunctive normal form and disjunctive normal form. Its use is supported in interactive mode by prefixing an expression with "nnf", "cnf" or "dnf". Tests for the module are included and can be run with cabal test. The module is exported as Data.Logic.Propositional.NormalForms and must be imported separately.
    • The Data.Logic.Propositional.Tables module is now exported by the library. Its truthTable and truthTableP functions are still exported by the main Data.Logic.Propositional module (as well as by the newly exposed module) for backwards compatibility.
    • The values function is now exported.