ghc-ghc-typelits-knownnat

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.

Não existe um pacote oficial para openSUSE Leap 16.0

Distribuições

Distribuições não suportadas

As seguintes distribuições não são suportadas oficialmente. Utilize os pacotes por sua conta própria.