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ėra oficialių „openSUSE Leap 16.0“ paketų

Platinamieji paketai

Nepalaikomos platinamųjų paketų versijos

Šie platinamieji paketai nėra oficialiai palaikomi. Už šių paketų naudojimą atsakomybę turėtumėte prisiimti patys.