From d530c46c89acd85a5cb0d1d1dc87fd1960f654b0 Mon Sep 17 00:00:00 2001 From: sheaf Date: Wed, 24 Nov 2021 14:21:49 +0100 Subject: Add Data.Bits changes to base 4.16 changelog Several additions since 4.15 had not been recorded in the changelog: - newtypes And, Ior, Xor and Iff, - oneBits - symbolic synonyms `.^.`, `.>>.`, `!>>.`, `.<<.` and `!<<.`. Fixes #20608. --- libraries/base/changelog.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'libraries') diff --git a/libraries/base/changelog.md b/libraries/base/changelog.md index d75c8b9dbf..e1a21989ff 100644 --- a/libraries/base/changelog.md +++ b/libraries/base/changelog.md @@ -19,6 +19,14 @@ * `returnA` is defined as `Control.Category.id` instead of `arr id`. + * Added symbolic synonyms for `xor` and shift operators to `Data.Bits`: + + - `.^.` (`xor`), + - `.>>.` and `!>>.` (`shiftR` and `unsafeShiftR`), + - `.<<.` and `!<<.` (`shiftL` and `unsafeShiftL`). + + These new operators have the same fixity as the originals. + ## 4.16.0.0 *Nov 2021* * The unary tuple type, `Solo`, is now exported by `Data.Tuple`. @@ -81,6 +89,14 @@ * Comparison constraints in `Data.Type.Ord` (e.g. `<=`) now use the new `GHC.TypeError.Assert` type family instead of type equality with `~`. + * Additions to `Data.Bits`: + + - Newtypes `And`, `Ior`, `Xor` and `Iff` which wrap their argument, + and whose `Semigroup` instances are defined using `(.&.)`, `(.|.)`, `xor` + and ```\x y -> complement (x `xor` y)```, respectively. + + - `oneBits :: FiniteBits a => a`, `oneBits = complement zeroBits`. + ## 4.15.0.0 *TBA* * `openFile` now calls the `open` system call with an `interruptible` FFI -- cgit v1.2.1