Hatt changelog ============== Version 1.5.0 ------------- * Breaking API change: variables are now represented by a newtype wrapper `Var` around `Char`s, 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.