racket-quickcheck icon indicating copy to clipboard operation
racket-quickcheck copied to clipboard

Logical AND, OR, and NOT property combinators

Open jackfirth opened this issue 10 years ago • 0 comments

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.

jackfirth avatar Oct 14 '15 09:10 jackfirth