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.

Tidak ada paket resmi yang tersedia untuk openSUSE Leap 16.0

Distribusi

Distribusi yang tak didukung

Distribusi berikut ini tidak didukung secara resmi. Gunakan paket ini dengan risiko Anda sendiri.