# Version 0.5.0
* COMPILER ASSISTED BREAKING CHANGE: `KindRational.Rational` is now
is now only ever used as a kind. So, all term-level functions in
the `KindRational` consume and produce `Prelude.Rational`s. Term-level
functions crash will `error` if they are supplied `Rational`s that
are not `Reduced` as input.
* COMPILER ASSISTED BREAKING CHANGE: Removed `Eq`, `Ord`, `Show` and
`Read` instances for `KindRational.Rational`.
* COMPILER ASSISTED BREAKING CHANGE: Removed `withTerminating` in favor of
`termination`.
* COMPILER ASSISTED BREAKING CHANGE: `Rational`s that are not `Reduced`
are not `KnownRational`s anymore.
* COMPILER ASSISTED BREAKING CHANGE: `KnownRational` is now a type-synonym
that implies `Normalize r ~ r`, `KnownInteger (Num r)` and
`KnownNat (Den r)` as well.
* Added `singletons-base` support for `Rational`, including `PNum`, `SNum`,
`PEq`, `SEq`, `POrd`, `SOrd`, `PShow` and `SShow`. Most arithmetic
functions are now exported through `PNum` and `SNum`, rather than standalone.
* Added `readPrecTypeLit`, `SRationalTerminates`, `SRationalTerminatesNot`,
`normalize`, `rationalLit`, `NonTerminating`, `%`, `%%`, `ToRational`,
`mkRational`, `sMkRational`, `sRecip'`.
* Added `ShowLit`, `ShowsLit`, `ShowsPrecLit` and its singletons and
promoted versions.
* Added defunctionalization symbols.
# Version 0.4
* COMPILER ASSISTED BREAKING CHANGE: `rationalVal`, `someRationalVal`,
`fromSRational`, `terminates`, `divRem`, `div` and `rem` now deal
with `KindRational`'s `Rational`s, rather than `Prelude`'s `Rational`s.
* COMPILER ASSISTED BREAKING CHANGE: Removed `fromSRational'`.
* Added `SingI` and `SingKind` instances.
# Version 0.3
* COMPILER ASSISTED BREAKING CHANGE: `TestEquality` and `TestCoercion`
don't `Normalize` inputs before making a decision anymore.
* BREAKING CHANGE: The `Rational` inside `SRational` is not automatically
normalized anymore. This is so that `SDecide`, `TestEquality` and
`TestCoercion` behave as expected, treating `1/2` differently than `2/4`,
for example. This is mostly an internal change, but it can be observed in
the `Show` instance for `SRational`, for example.
* Added role annotations to `SRational`.
* Add dependency on `singletons` so that we can give a `Sing` and `SDecide`
instances for type-level `Rational`s.
* Export `fromSRational'`.
# Version 0.2
* COMPILER ASSISTED BREAKING CHANGE: Removed `Mod`, `DivMod`, `mod`, `divMod`.
* COMPILER ASSISTED BREAKING CHANGE: Renamed `Dif` to `Rem`, `DivDif` to
`DivRem`, `mod` to `rem`, `divDif` to `divRem`.
# Version 0.1
* Initial version.