Changelog of @hackage/hatt 1.5.0.3

Hatt changelog

Version 1.5.0

  • 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.

Version 1.4.0

  • Make the parser slightly more liberal: unparenthesised expressions with a binary connective as their primary connective such as "a | b" are now parsed correctly, as are expressions with superfluous spaces such as " ( c -> ~ d )".

Version 1.3.1

  • Added command history and better text input handling with Haskeline.

Version 1.3.0

  • Add the --coloured command-line flag and colour command in interactive mode to make truth value colouring optional.
  • Relax containers dependency to >= 0.3 && < 0.5.

Version 1.2.1

  • Use truth table and parsing code to produce the example console session in the interactive mode help text.

Version 1.2.0

  • Truth values are coloured green (T) and red (F) when printed.

Version 1.1.1

  • Correct semantics for interpreting conditionals. Fixes an operator precedence bug in the previous implementation.

Version 1.1

  • Allow variables to be lower case ASCII letters as well as upper case.

Version 1.0

  • Pretty-printing can now be enabled and disabled when in the interactive mode by using the pretty command.

Version 0.3

  • Added an interactive mode.
  • Made interactive mode the default: it's only not entered if the --evaluate flag is passed and the --interactive flag is not.

Version 0.2

  • Added the --pretty option to pretty-print expressions.
  • The --evaluate option now prints ASCII truth tables by default.
  • Added truthTableP function to allow configurable expression printing.
  • The variables function now returns a list of unique elements.
  • Dependency base loosened to >= 4 && < 5 so it will build with GHC 7.
  • Exposed and other modules now correctly differentiated in cabal file.

Version 0.1

  • Initial release.