Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
111 lines (106 sloc) 4.65 KB
name: ghc-typelits-extra
version: 0.3.1
synopsis: Additional type-level operations on GHC.TypeLits.Nat
description:
Additional type-level operations on @GHC.TypeLits.Nat@:
.
* @Max@: type-level <http://hackage.haskell.org/package/base-4.8.2.0/docs/Prelude.html#v:max max>
.
* @Min@: type-level <http://hackage.haskell.org/package/base-4.8.2.0/docs/Prelude.html#v:min min>
.
* @Div@: type-level <http://hackage.haskell.org/package/base-4.8.2.0/docs/Prelude.html#v:div div>
.
* @Mod@: type-level <http://hackage.haskell.org/package/base-4.8.2.0/docs/Prelude.html#v:mod mod>
.
* @FLog@: type-level equivalent of <https://hackage.haskell.org/package/integer-gmp/docs/GHC-Integer-Logarithms.html#v:integerLogBase-35- integerLogBase#>
i.e. the exact integer equivalent to @floor (logBase x y)@
.
* @CLog@: type-level equivalent of /the ceiling of/ <https://hackage.haskell.org/package/integer-gmp/docs/GHC-Integer-Logarithms.html#v:integerLogBase-35- integerLogBase#>
i.e. the exact integer equivalent to @ceiling (logBase x y)@
.
* @Log@: type-level equivalent of <https://hackage.haskell.org/package/integer-gmp/docs/GHC-Integer-Logarithms.html#v:integerLogBase-35- integerLogBase#>
where the operation only reduces when @floor (logBase b x) ~ ceiling (logBase b x)@
.
* @GCD@: a type-level <http://hackage.haskell.org/package/base-4.8.2.0/docs/Prelude.html#v:gcd gcd>
.
* @LCM@: a type-level <http://hackage.haskell.org/package/base-4.8.2.0/docs/Prelude.html#v:lcm 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.
homepage: http://www.clash-lang.org/
bug-reports: http://github.com/clash-lang/ghc-typelits-extra/issues
license: BSD2
license-file: LICENSE
author: Christiaan Baaij
maintainer: christiaan.baaij@gmail.com
copyright: Copyright © 2015-2016, University of Twente,
2017-2018, QBayLogic B.V.
category: Type System
build-type: Simple
extra-source-files: README.md
CHANGELOG.md
cabal-version: >=1.10
tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.4
source-repository head
type: git
location: https://github.com/clash-lang/ghc-typelits-extra.git
flag deverror
description:
Enables `-Werror` for development mode and TravisCI
default: False
manual: True
library
exposed-modules: GHC.TypeLits.Extra,
GHC.TypeLits.Extra.Solver
other-modules: GHC.TypeLits.Extra.Solver.Unify
GHC.TypeLits.Extra.Solver.Operations
build-depends: base >= 4.8 && <5,
containers >= 0.5.7.1 && <0.7,
ghc >= 7.10 && <8.8,
ghc-prim >= 0.5 && <1.0,
ghc-tcplugins-extra >= 0.2,
ghc-typelits-knownnat >= 0.6 && <0.7,
ghc-typelits-natnormalise >= 0.6 && <0.8,
integer-gmp >= 1.0 && <1.1,
transformers >= 0.4.2.0 && <0.6
hs-source-dirs: src
default-language: Haskell2010
other-extensions: DataKinds
FlexibleInstances
GADTs
MagicHash
MultiParamTypeClasses
ScopedTypeVariables
TemplateHaskell
TupleSections
TypeApplications
TypeFamilies
TypeOperators
UndecidableInstances
if flag(deverror)
ghc-options: -Wall -Werror
else
ghc-options: -Wall
test-suite test-ghc-typelits-extra
type: exitcode-stdio-1.0
main-is: Main.hs
Other-Modules: ErrorTests
build-depends: base >= 4.8 && <5,
ghc-typelits-extra,
ghc-typelits-knownnat >= 0.6,
ghc-typelits-natnormalise >= 0.4.1,
tasty >= 0.10,
tasty-hunit >= 0.9
hs-source-dirs: tests
default-language: Haskell2010
other-extensions: DataKinds
TypeOperators
if flag(deverror)
ghc-options: -O0 -dcore-lint
You can’t perform that action at this time.