The prednote package

[Tags:bsd3, library, test]

Build and evaluate trees of predicates. For example, you might build a predicate of the type Int -> Bool. You do this by assembling several predicates into a tree. You can then verbosely evaluate this tree, showing why a particular result is reached.

prednote also provides modules to test several subjects against a given predicate, and to parse infix or RPN expressions into a tree of predicates.

[Skip to Readme]


Change log changelog
Dependencies base (>=4.7 && <5), bytestring (>=0.10), containers (>=, contravariant (>=1.2), rainbow (>=0.26), split (>=0.2.2), text (>=, transformers (>= [details]
License BSD3
Copyright Copyright 2013-2015 Omari Norman
Author Omari Norman
Category Data
Home page
Bug tracker
Source repository head: git clone
Uploaded Thu Sep 10 01:59:03 UTC 2015 by OmariNorman
Distributions LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 4814 total (9 in the last 30 days)
0 []
Status Docs available [build log]
Last success reported on 2015-09-10 [all 1 reports]




visual-testsBuild the prednote-visual-tests executableDisabledManual

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for prednote

Readme for prednote-


prednote helps you build a tree of predicates that you can apply to a list of items. It was written for Penny:

but I also find it useful for dapi:

and so you might find it useful too.

prednote is on Github:

and Hackage:

Test results

You can view the results of building and testing on Travis by clicking the button below:

Build Status

If you have trouble building prednote due to dependency issues, try looking at the previous test results, as they will show you package versions that were used to build prednote successfully.

Something similar

See also rematch:

which is apparently based on a Java library called hamcrest.


prednote is licensed under the BSD license; see the LICENSE file.