The prednote package

[Tags: bsd3, library]

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 logchangelog
Dependenciesbase (>=4.7 && <5), bytestring (>=0.10), containers (>=, contravariant (>=1.2), rainbow (>=0.26), split (>=0.2.2), text (>=, transformers (>= [details]
CopyrightCopyright 2013-2015 Omari Norman
AuthorOmari Norman
Home page
Bug tracker
Source repositoryhead: git clone
UploadedThu Sep 10 01:59:03 UTC 2015 by OmariNorman
DistributionsLTSHaskell:, NixOS:, Stackage:
Downloads3352 total (204 in last 30 days)
0 []
StatusDocs 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


Maintainers' corner

For package maintainers and hackage trustees

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.