prednote (hackage): 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.
Keywords: bsd3|data|library