toutes les options
bookworm  ] [  trixie  ] [  forky  ] [  sid  ]
[ Paquet source : haskell-ghc-typelits-knownnat  ]

Paquet : libghc-ghc-typelits-knownnat-dev (0.7.12-1 et autres)

Liens pour libghc-ghc-typelits-knownnat-dev

Screenshot

Ressources Debian :

Télécharger le paquet source haskell-ghc-typelits-knownnat :

Responsables :

Ressources externes :

Paquets similaires :

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.

Autres paquets associés à libghc-ghc-typelits-knownnat-dev

  • dépendances
  • recommandations
  • suggestions
  • enhances

Télécharger libghc-ghc-typelits-knownnat-dev

Télécharger pour toutes les architectures proposées
Architecture Version Taille du paquet Espace occupé une fois installé Fichiers
alpha (portage non officiel) 0.7.12-1+b1 94,5 ko964,0 ko [liste des fichiers]
amd64 0.7.12-1+b2 66,5 ko520,0 ko [liste des fichiers]
arm64 0.7.12-1+b2 65,8 ko639,0 ko [liste des fichiers]
armel 0.7.12-1+b2 77,4 ko643,0 ko [liste des fichiers]
armhf 0.7.12-1+b2 75,3 ko632,0 ko [liste des fichiers]
hppa (portage non officiel) 0.7.12-1+b3 124,5 ko985,0 ko [liste des fichiers]
i386 0.7.12-1+b2 100,9 ko671,0 ko [liste des fichiers]
ia64 (portage non officiel) 0.7.9-1+b2 106,9 ko1 835,0 ko [liste des fichiers]
loong64 (portage non officiel) 0.7.12-1+b2 114,1 ko1 243,0 ko [liste des fichiers]
m68k (portage non officiel) 0.7.12-1 99,1 ko708,0 ko [liste des fichiers]
mips64el 0.7.12-1+b2 88,4 ko946,0 ko [liste des fichiers]
ppc64 (portage non officiel) 0.7.12-1+b2 79,7 ko955,0 ko [liste des fichiers]
ppc64el 0.7.12-1+b2 80,4 ko864,0 ko [liste des fichiers]
riscv64 0.7.12-1+b2 107,0 ko1 091,0 ko [liste des fichiers]
s390x 0.7.12-1+b2 95,4 ko1 072,0 ko [liste des fichiers]
sparc64 (portage non officiel) 0.7.12-1+b2 103,4 ko1 898,0 ko [liste des fichiers]