type-spine-0.1.2: A spine-view on types

Portabilitysee LANGUAGE pragmas (... GHC)
Safe HaskellSafe-Infered



Kinds for the spine-view on types.



parameterKinds :: [Kind]Source

The set of kinds that this library will initially support as type parameters.

maxParameters :: IntSource

The default number of parameters that this library will initially support.

allKinds :: [Kind]Source

The kinds consequent from parameterKinds and maxParameters.

badParseK :: Monad m => [Char] -> m aSource

trim :: [Char] -> [Char]Source

qK :: QuasiQuoterSource

[qK|...|] is either the declaration of a type that takes one parameter of the corresponding kind, or an occurrence of that type constructor. (The name is an encoding of that parameter's kind based on prefix notation for application.)

generateK :: (Eq a, Num a) => [Kind] -> a -> [Kind]Source

generateK pks n generates all Kinds with 0 to n parameters taken from pks.

forallAppsK :: (Kind -> Kind -> Q a) -> Q [a]Source

Calls its argument once for each parameter and kind pair implied by maxParameters and parameterKinds.