Changelog of @hackage/kind-rational 0.5.0

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.Rationals. Term-level functions crash will error if they are supplied Rationals 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: Rationals that are not Reduced are not KnownRationals 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 Rationals, rather than Prelude's Rationals.

  • 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 Rationals.

  • 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.