packages feed

typelits-witnesses-0.4.0.1: CHANGELOG.md

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 `KnownNat`s 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 `KnownNat`s 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.