Changelog

Revision history for finitary

2.2.1.0 -- 2026-08-06

  • Adds the typechecker-plugins manual flag. Disable this flag to compile the library without using typechecker plugins. This does not change the API of the library, but it does entail passing more KnownNat dictionaries around at runtime.

2.2.0.1 -- 2026-04-18

  • Relax upper bounds:

    • ghc-typelits-knownnat: < 0.8 ==> < 0.9
    • ghc-typelits-natnormalise: < 0.8 ==> < 0.10
  • Update the testsuite to account for changes in hspec-hedgehog.

2.2.0.0 -- 2024-08-07

  • Fix behaviour of previous and next, which incorrectly handled endpoints. Thanks to blmage for their contribution.

  • Relax upper bounds:

    • primitive: < 0.8 ==> < 0.10
    • vector: < 0.13 ==> < 0.14
    • vector-sized: < 1.6 ==> < 1.7

2.1.3.0 -- 2024-05-09

  • Add support for finite-typelits >= 2.0.0.

2.1.2.0 -- 2024-05-06

  • Allow typelits-witnesses-0.4.0.1, and bump upper bounds of hspec and hspec-hedgehog in the test component (thanks to viercc).

2.1.1.1 -- 2022-12-03

  • Bump some upper bounds, including base.

2.1.1.0 -- 2021-02-11

  • Work around a bug in fromIntegral :: Natural -> Integer in GHC 9.0 (GHC issue #19345).

2.1.0.1 -- 2021-02-09

  • Fix incorrect instance for Finite a => Finite ( Down a )
  • Add cabal flags to give the option of removing dependencies on vector and bitvec
  • Ensure GHC 9.0 compatibility

2.0.0.0 -- 2020-05-05

  • Support GHC 8.10
  • Remove support for GHCs older than 8.6
  • Remove dependency on coercible-utils
  • previous and next now return Maybes
  • Better tests
  • Better documentation

1.2.0.0 -- 2019-10-17

  • Remove nextSkipping and previousSkipping as unnecessary.
  • Add (and note) support for GHC 8.2.2.
  • Remove MTL dependency.
  • Remove enumerate* class methods.
  • Add inhabitants, inhabitantsFrom, inhabitantsTo, inhabitantsFromTo.

1.1.0.0 -- 2019-09-21

  • Repair a disagreement between Ord and Finitary derivations via Generic (thanks jle`!).
  • Fix serious bug with next and previous.

1.0.0.1 -- 2019-09-17

  • Fix README (no code changes).

1.0.0.0 -- 2019-09-17

  • Rewritten documentation to be more clear, and state more laws.
  • Added nextSkipping and previousSkipping methods to allow 'skipping over' some elements when enumerating in a more efficient manner.
  • Added Eq a as a constraint for Finitary a instances (as without it, the laws don't make much sense).
  • Fixed numerous typoes and unclear statements.
  • Stated that Finitary must be order-preserving relative any instances with Ord instances; existing instances modified to follow this law.
  • Added more tests.
  • Fixed odd issue with some element cardinalities and lengths for sized Vector instances.
  • Tightened bounds to be more conservative.
  • Support GHC 8.8.

0.1.0.0 -- 2019-09-10

  • First version. Released on an unsuspecting world.