ghc-typelits-extra-0.4.3: Additional type-level operations on GHC.TypeLits.Nat

ghc-typelits-extra-0.4.3: Additional type-level operations on GHC.TypeLits.Nat

Additional type-level operations on GHC.TypeLits.Nat:

  • Max: type-level max
  • Min: type-level min
  • Div: type-level div
  • Mod: type-level mod
  • FLog: type-level equivalent of integerLogBase# i.e. the exact integer equivalent to floor (logBase x y)
  • CLog: type-level equivalent of the ceiling of integerLogBase# i.e. the exact integer equivalent to ceiling (logBase x y)
  • Log: type-level equivalent of integerLogBase# where the operation only reduces when floor (logBase b x) ~ ceiling (logBase b x)
  • GCD: a type-level gcd
  • LCM: a type-level lcm

And a custom solver for the above operations defined in GHC.TypeLits.Extra.Solver as a GHC type-checker plugin. To use the plugin, add the

OPTIONS_GHC -fplugin GHC.TypeLits.Extra.Solver

pragma to the header of your file.

Modules