alla flaggor
bookworm  ] [  trixie  ] [  sid  ]
[ Källkod: haskell-ghc-typelits-knownnat  ]

Paket: libghc-ghc-typelits-knownnat-dev (0.7.9-1 och andra)

Länkar för libghc-ghc-typelits-knownnat-dev

Screenshot

Debianresurser:

Hämta källkodspaketet haskell-ghc-typelits-knownnat:

Ansvariga:

Externa resurser:

Liknande paket:

Derive KnownNat constraints from other KnownNat constraints

A type checker plugin for GHC that can derive "complex" KnownNat constraints from other simple/variable KnownNat constraints. i.e. without this plugin, you must have both a KnownNat n and a KnownNat (n+2) constraint in the type signature of the following function:

f :: forall n . (KnownNat n, KnownNat (n+2)) => Proxy n -> Integer f _ = natVal (Proxy :: Proxy n) + natVal (Proxy :: Proxy (n+2))

Using the plugin you can omit the KnownNat (n+2) constraint:

f :: forall n . KnownNat n => Proxy n -> Integer f _ = natVal (Proxy :: Proxy n) + natVal (Proxy :: Proxy (n+2))

The plugin can derive KnownNat constraints for types consisting of:

 * Type variables, when there is a corresponding KnownNat constraint

 * Type-level naturals

 * Applications of the arithmetic expression: +,-,*,^

 * Type functions, when there is either:

1. a matching given KnownNat constraint; or

2. a corresponding KnownNat<N> instance for the type function

To use the plugin, add the

OPTIONS_GHC -fplugin GHC.TypeLits.KnownNat.Solver

Pragma to the header of your file.

This package provides a library for the Haskell programming language. See http://www.haskell.org/ for more information on Haskell.

Andra paket besläktade med libghc-ghc-typelits-knownnat-dev

  • beror
  • rekommenderar
  • föreslår
  • enhances

Hämta libghc-ghc-typelits-knownnat-dev

Hämtningar för alla tillgängliga arkitekturer
Arkitektur Version Paketstorlek Installerad storlek Filer
alpha (inofficiell anpassning) 0.7.9-1+b1 98,1 kbyte948,0 kbyte [filförteckning]
amd64 0.7.9-1+b2 68,5 kbyte489,0 kbyte [filförteckning]
arm64 0.7.9-1+b2 68,5 kbyte620,0 kbyte [filförteckning]
armel 0.7.9-1+b3 69,1 kbyte547,0 kbyte [filförteckning]
armhf 0.7.9-1+b3 68,0 kbyte538,0 kbyte [filförteckning]
hppa (inofficiell anpassning) 0.7.9-1+b4 128,5 kbyte978,0 kbyte [filförteckning]
i386 0.7.9-1+b2 103,3 kbyte639,0 kbyte [filförteckning]
ia64 (inofficiell anpassning) 0.7.9-1+b2 106,9 kbyte1.835,0 kbyte [filförteckning]
m68k (inofficiell anpassning) 0.7.9-1 99,8 kbyte710,0 kbyte [filförteckning]
mips64el 0.7.9-1+b2 90,4 kbyte930,0 kbyte [filförteckning]
ppc64 (inofficiell anpassning) 0.7.9-1+b2 86,8 kbyte965,0 kbyte [filförteckning]
ppc64el 0.7.9-1+b2 89,3 kbyte852,0 kbyte [filförteckning]
riscv64 0.7.9-1+b2 98,8 kbyte965,0 kbyte [filförteckning]
s390x 0.7.9-1+b2 85,4 kbyte886,0 kbyte [filförteckning]
sparc64 (inofficiell anpassning) 0.7.9-1+b1 106,2 kbyte1.308,0 kbyte [filförteckning]