packages feed

kind-integer-0.6.0: CHANGELOG.md

# Version 0.6.0

* COMPILER ASSISTED BREAKING CHANGE: `KindInteger.Integer` is now
  is now only ever used as a kind. So, all term-level functions in
  the `KindInteger` consume and produce `Prelude.Integer`s.

* COMPILER ASSISTED BREAKING CHANGE: Removed `Eq`, `Ord`, `Show` and
  `Read` instances for `KindInteger.Integer`.

* COMPILER ASSISTED BREAKING CHANGE: `Z` is now used to represent
  zero, instead of the previous `P 0`.

* COMPILER ASSISTED BREAKING CHANGE: `P 0` and `N 0` are not
  `KnownInteger`s anymore.

* COMPILER ASSISTED BREAKING CHANGE: `KnownInteger` is now a type-synonym
  that implies `Normalized i ~ i` and `KnownNat (Abs i)` as well.

* Added `readPrecTypeLit`.

* Added `Normalized`.

* Added `singletons-base` support for `Integer`, including `PNum`, `SNum`,
  `PEq`, `SEq`, `POrd`, `SOrd`, `PShow` and `SShow`. Most arithmetic
  functions are now exported through `PNum` and `SNum`, rather than standalone.

* Added `ShowLit`, `ShowsLit`, `ShowsPrecLit` and its singletons and
  promoted versions.

* Added `Fold` and `sFold`.

* Added defunctionalization symbols.

* Added ZigZag encoding and decoding tools.


# Version 0.5

* COMPILER ASSISTED BREAKING CHANGE: `integerVal`, `someIntegerVal`,
  `fromSInteger` and `withSomeSInteger` now deal with `KindInteger`'s
  `Integer`s, rather than `Prelude`'s `Integer`s.

* COMPILER ASSISTED BREAKING CHANGE: Removed `fromSInteger'`.

* Added `SingI` and `SingKind` instances.


# Version 0.4

* COMPILER ASSISTED BREAKING CHANGE: `TestEquality` and `TestCoercion` consider
  `N 0` and `P 0` to be different.

* BREAKING CHANGE: The `Integer` inside `SInteger`s is not automatically
  normalized anymore. This is so that `SDecide`, `TestEquality` and
  `TestCoercion` behave as expected, treating `N 0` and `P 0` differently.
  This is mostly an internal change, but it can be observed in the `Show`
  instance for `SInteger`, for example.

* Added role annotations to `SInteger`.

* Add dependency on `singletons` so that we can give a `Sing` and `SDecide`
  instances for type-level `Integer`s.

* Export `fromSInteger'`, `eqIntegerRep`.


# Version 0.3

* COMPILER ASSISTED BREAKING CHANGE: Renamed `Mod` to `Rem`, `DivMod` to
  `DivRem`, `mod` to `rem`, `divMod` to `divRem`.


# Version 0.2

* COMPILER ASSISTED BREAKING CHANGE: Removed `Div`, `Mod`, `Quote`
  and `Rem` in favour of more polymorphic `Div`, `Mod`.

* COMPILER ASSISTED BREAKING CHANGE: Removed `integerVal'`. Nothing
  wrong with it, just redundant.

* Export `Sign`, `Abs`, `GCD`, `LCM`, `Odd`, `Even`, `toPrelude`,
  `fromPrelude`, `showsPrecTypeLit`, `div`, `mod`, `divMod`,
  `DivMod`.

* Add `Eq`, `Ord`, `Show`, `Read` instances for `Integer`.

* Minor cabal and documentation improvements.


# Version 0.1

* Initial version.