Revision history for predicate-transformers
0.17.0.0 -- 2024-10-13
- Rename multiple functions to shorter names with the intent that predicate-transformers be imported qualified.
In particular
also
renamed to and
, otherHand
renamed to or
, etc.
- Delete
lens
and mtl
dependencies.
- Delete
soleElementOf
, for lack of use in favor of match
.
- Rename
Predicatory
to Boolish
for ease of reading.
- Delete
Exceptional
class, folding it into the newly renamed Boolish
.
- Delete
predJust
, predLeft
, and predRight
in favor of match
uses.
0.16.0.0 -- 2024-10-13
- Add predicate failure error messages that include the actual value under test and a message explaining what was expected.
- Rename
just
, left
, and right
to predJust
, predLeft
, predRight
0.15.0.0 -- 2024-08-23
- Change
?
to right associative so that it works with .
.
0.14.0.0 -- 2024-08-23
- Add
?
back in as a useful operator to work with &
; &
can be used as a predicate applicator, and ?
can be used as a predicate transformer applicator, allowing for a form of infix binary application like x & f ? y = f x y
.
- Add
match
back in as a type-restricted alias for soleElementOf
.
0.13.0.0 -- 2024-07-23
0.12.0.0 -- 2024-07-23
- Rename
sole
to soleElement
- Add
?
, an infix function application operator with lower
precedence than !
.
- Add
satAll = foldr also continue
.
0.11.0.0 -- 2024-07-21
- Add documentation.
- Rename
onlyContains
to sole
. Add soleOf
, generalizing over Fold
s.
soleOf
is likely a better replacement for match
than allOf1
was.
- Exchange
INLINABLE
pragmas for -fexpose-all-unfoldings
.
- Implement
traceFailFunShow
.
- Change
Exceptional
's method assess
to make it possible to implement for functional predicates, and delete traceFailFun
, now redundant.
0.10.0.0 -- 2024-07-21
- Rename
oneOfTwo
to otherHand
, for easier reading.
- Set
also
and otherHand
precedences to those of &&
and ||
respectively. That makes them work better with the precedence of
!
, allowing easier composition.
- Rename
only
to onlyContains
, for easier reading and to avoid a
name conflict with Control.Lens.only
.
- Set
!
precedence to be equal to that of .
.
- Add
equals
predicate.
- Delete
match
. allOf1
does the same thing more generally, with
Fold
instead of Prism
.
- Make
otherHand
stop catching async exceptions. Otherwise a thread
being killed may appear as a predicate failure.
0.9.0.0 -- 2024-07-21
- Add instance
Predicatory (e -> a)
. This will allow for adding extra
parameters to predicates, making it easier to compose them; maybe
these are called "functional predicates".
- Added
traceFailFun
. This version of traceFail works on functional
predicates.
- Tupling sugar renamed from
==>
to :=>
, to allow it to be a pattern synonym.
- Minor code style changes.
0.1.0.0 -- 2019-10-05
- First version. Released on an unsuspecting world.