# 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 * Remove `?` ## 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.