racket-quickcheck
racket-quickcheck copied to clipboard
Logical AND, OR, and NOT property combinators
Since there's a ==> function for logical implication of properties, it makes sense to provide functions for other logical operations on properties. If a combined property made with an AND or OR function fails, it should specify which subproperty failed (maybe using labels? not sure how those work exactly).
Sidenote: It's generally considered Racket style to avoid symbolic shorthands and abbreviations, so names like the following tend to be preferred:
-
property-implies -
property-and -
property-or -
property-not
That breaks away a bit from the Haskell quickcheck lib though, and breaks backwards compatibility in the ==> case.