Skip to content

Extra type-level operations on GHC.TypeLits.Nat and a custom solver

License

Notifications You must be signed in to change notification settings

clash-lang/ghc-typelits-extra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4dadc82 · May 22, 2024
May 22, 2024
Apr 29, 2024
Apr 12, 2024
Nov 8, 2022
May 22, 2024
Oct 21, 2022
Apr 3, 2024
Apr 12, 2024
May 22, 2024
Oct 20, 2015
Jan 4, 2018
Nov 8, 2022
May 17, 2015
Jun 18, 2021
May 22, 2024

Repository files navigation

ghc-typelits-extra

Build Status Hackage Hackage Dependencies

Extra type-level operations on GHC.TypeLits.Nat and a custom solver implemented as a GHC type-checker plugin:

  • GHC.TypeLits.Extra.Max: type-level max
  • GHC.TypeLits.Extra.Min: type-level min
  • GHC.TypeLits.Extra.Div: type-level div
  • GHC.TypeLits.Extra.Mod: type-level mod
  • GHC.TypeLits.Extra.FLog: type-level equivalent of integerLogBase# .i.e. the exact integer equivalent to "floor (logBase x y)"
  • GHC.TypeLits.Extra.CLog: type-level equivalent of the ceiling of integerLogBase# .i.e. the exact integer equivalent to "ceiling (logBase x y)"
  • 'GHC.TypeLits.Extra.Log': type-level equivalent of <https://hackage.haskell.org/package/base-4.17.0.0/docs/GHC-Integer-Logarithms.html#v:integerLogBase-35- integerLogBase#> where the operation only reduces when "floor (logBase b x) ~ ceiling (logBase b x)"
  • GHC.TypeLits.Extra.GCD: a type-level gcd
  • GHC.TypeLits.Extra.LCM: a type-level lcm

About

Extra type-level operations on GHC.TypeLits.Nat and a custom solver

Resources

License

Stars

Watchers

Forks

Packages

No packages published