Alle Optionen
bookworm  ] [  trixie  ] [  sid  ]
[ Quellcode: haskell-ghc-typelits-knownnat  ]

Paket: libghc-ghc-typelits-knownnat-dev (0.7.7-1 und andere)

Links für libghc-ghc-typelits-knownnat-dev

Screenshot

Debian-Ressourcen:

Quellcode-Paket haskell-ghc-typelits-knownnat herunterladen:

Betreuer:

Externe Ressourcen:

Ähnliche Pakete:

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.

Andere Pakete mit Bezug zu libghc-ghc-typelits-knownnat-dev

  • hängt ab von
  • empfiehlt
  • schlägt vor
  • erweitert

libghc-ghc-typelits-knownnat-dev herunterladen

Download für alle verfügbaren Architekturen
Architektur Version Paketgröße Größe (installiert) Dateien
amd64 0.7.7-1 69,6 kB519,0 kB [Liste der Dateien]
arm64 0.7.7-1 85,1 kB854,0 kB [Liste der Dateien]
armel 0.7.7-1 78,7 kB628,0 kB [Liste der Dateien]
armhf 0.7.7-1 76,9 kB624,0 kB [Liste der Dateien]
i386 0.7.7-1 103,9 kB679,0 kB [Liste der Dateien]
mips64el 0.7.7-1+b1 90,7 kB945,0 kB [Liste der Dateien]
mipsel 0.7.7-1+b1 83,9 kB746,0 kB [Liste der Dateien]
ppc64el 0.7.7-1 89,1 kB931,0 kB [Liste der Dateien]
s390x 0.7.7-1 99,5 kB901,0 kB [Liste der Dateien]