Changelog of @hackage/typelits-witnesses 0.4.0.1

Changelog

Version 0.4.0.1

https://github.com/mstksg/typelits-witnesses/releases/tag/v0.4.0.1

November 29, 2023

  • Fix for GHC 8.2+
  • Fix type of (%*)
  • minusSNat fixed
  • Qualified cmpNat

Version 0.4.0.0

https://github.com/mstksg/typelits-witnesses/releases/tag/v0.4.0.0

June 20, 2019

  • Complete overhaul of GHC.TypeLits.Witnesses to more or less match the interface of singletons. This changes the role of the module to be a "lightweight" version of the singletons library as it pertains to Nat and Symbol.
  • Removal of the GHC.TypeLits.List module. We could perform the same overhaul as GHC.TypeLits.Witnesses, but it is complex enough that it would be better to just use singletons instead at that point.
  • Remove all external dependencies, except for base and dependent-sum.
  • Break compatibility with GHC < 8.2

Version 0.3.0.3

https://github.com/mstksg/typelits-witnesses/releases/tag/v0.3.0.3

October 1, 2018

  • Fix build for GHC 8.6 and TypeIsStar changes.
  • Break compatibility with GHC < 8.0

Version 0.3.0.2

https://github.com/mstksg/typelits-witnesses/releases/tag/v0.3.0.2

March 30, 2018

  • Functions taking multiple p m in GHC.TypeLits.Compare now are able to take different "proxy" types (p and q).

Version 0.3.0.1

https://github.com/mstksg/typelits-witnesses/releases/tag/v0.3.0.1

  • Documentation fixes because deprecation warnings were not showing up on haddocks for GHC.TypeLits.List.

Version 0.3.0.0

https://github.com/mstksg/typelits-witnesses/releases/tag/v0.3.0.0

  • Added extra witnesses inside the constructors of (:<=?).
  • Allowed functions to polymorphically expect p n instead of Proxy n whenever possible.
  • Soft deprecation of GHC.TypeLits.Witnesses, in case people want to use the functionality of singletons without the full library.
  • Formal deprecation of GHC.TypeLits.List, with migration information, because it's just so much more unweidly than using singletons.

Version 0.2.3.0

https://github.com/mstksg/typelits-witnesses/releases/tag/v0.2.3.0

  • Added the GHC.TypeLits.Compare module for refining bounds and proving inequalities on KnownNats and associated utility functions.

Version 0.2.2.0

https://github.com/mstksg/typelits-witnesses/releases/tag/v0.2.2.0

  • Removed redundant KnownNats and KnownSymbols constraints for sameNats and sameSymbols.

Version 0.2.1.0

https://github.com/mstksg/typelits-witnesses/releases/tag/v0.2.1.0

  • Added "eliminators", a staple of dependently typed programming, for NatList and SymbolList.

Version 0.2.0.0

https://github.com/mstksg/typelits-witnesses/releases/tag/v0.2.0.0

  • Breaking: Changed the name of someNatsVal' to someNatsValPos, to break away from the "just add '" anti-pattern and to make the function name a bit more meaningful.

  • Added reifyNats', a "safe" version of reifyNats. Ideally, reifyNats should be the safe one, but its connection to reifyNat from the reflection package is very strong and worth preserving, I think.

Version 0.1.2.0

https://github.com/mstksg/typelits-witnesses/releases/tag/v0.1.2.0

  • Added mapNatList' and mapSymbolList' companions to mapNatList and mapSymbolList; they use NatList and SymbolList instead of Rank-2 types, so they can work better with function composition with (.) and other things that Rank-2 types would have trouble with.

  • Added sameNats and sameSymbols, modeled after sameNat and sameSymbol. They provide witnesses to GHC that KnownNats passed in are both the same.

Version 0.1.1.0

https://github.com/mstksg/typelits-witnesses/releases/tag/v0.1.1.0

  • Added strict fields to NatList, SomeNats, SymbolList, and SomeSymbols. It really doesn't make any sense for them to be lazy.

Version 0.1.0.1

https://github.com/mstksg/typelits-witnesses/releases/tag/v0.1.0.1

  • Added README to the cabal package as an extra source file, for viewing on Hackage.

Version 0.1.0.0

https://github.com/mstksg/typelits-witnesses/releases/tag/v0.1.0.0

  • Initial version.