hatt 1.5.0.0 → 1.5.0.2
raw patch · 3 files changed
+96/−5 lines, 3 filesdep ~containersdep ~haskeline
Dependency ranges changed: containers, haskeline
Files
- CHANGELOG +90/−0
- hatt.cabal +5/−4
- src/hatt.hs +1/−1
+ CHANGELOG view
@@ -0,0 +1,90 @@+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.
hatt.cabal view
@@ -1,5 +1,5 @@ Name: hatt-Version: 1.5.0.0+Version: 1.5.0.2 Synopsis: A truth table generator for classical propositional logic. Description: Hatt is a command-line program which prints truth tables@@ -18,7 +18,8 @@ Cabal-version: >= 1.8 Build-type: Simple-Extra-source-files: README.md+Extra-source-files: README.md,+ CHANGELOG Source-repository head Type: git@@ -28,7 +29,7 @@ Hs-Source-Dirs: src GHC-options: -Wall Build-depends: base >= 4 && < 5,- containers >= 0.3 && < 0.5,+ containers >= 0.3 && < 0.6, parsec >= 2.1 && < 3.2, QuickCheck >= 2.4, ansi-wl-pprint >= 0.6 && < 0.7@@ -44,7 +45,7 @@ Build-depends: base >= 4 && < 5, hatt, cmdargs >= 0.7,- haskeline >= 0.6 && < 0.7+ haskeline >= 0.6 Test-Suite test-hatt Type: exitcode-stdio-1.0
src/hatt.hs view
@@ -42,7 +42,7 @@ , interactive = False &= help "Enter interactive mode" , pretty = False &= help "Use Unicode logic symbols" , coloured = False &= help "Use colour-coded symbols"- } &= summary "Hatt 1.4.0.2, (c) Benedict Eastaugh 2012"+ } &= summary "Hatt 1.5.0.2, (c) Benedict Eastaugh 2012" &= program "hatt" main :: IO ()