haskell-tools-ast-0.2.0.0: Haskell AST for efficient tooling

Safe HaskellNone
LanguageHaskell2010

Language.Haskell.Tools.AST.Kinds

Description

Representation of Haskell Kinds

Synopsis

Documentation

data KindConstraint dom stage Source #

Kind constraint ( :: * -> * )

Constructors

KindConstraint 

Fields

Instances

type Rep (KindConstraint dom stage) Source # 
type Rep (KindConstraint dom stage) = D1 (MetaData "KindConstraint" "Language.Haskell.Tools.AST.Kinds" "haskell-tools-ast-0.2.0.0-5y5XIph7fmGIUhHQZ35OfD" False) (C1 (MetaCons "KindConstraint" PrefixI True) (S1 (MetaSel (Just Symbol "_kindConstr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Kind dom stage))))

data Kind dom stage Source #

Haskell kinds

Constructors

KindStar

*, the kind of types

KindUnbox

#, the kind of unboxed types

KindFn

->, the kind of type constructor

Fields

KindParen

A parenthesised kind

Fields

KindVar

kind variable (using PolyKinds extension)

Fields

KindApp

Kind application ( k1 k2 )

Fields

KindList

A list kind ( [k] )

Fields

KindPromoted

A promoted kind ( '(k1,k2,k3) )

Fields

Instances

type Rep (Kind dom stage) Source # 
type Rep (Kind dom stage) = D1 (MetaData "Kind" "Language.Haskell.Tools.AST.Kinds" "haskell-tools-ast-0.2.0.0-5y5XIph7fmGIUhHQZ35OfD" False) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "KindStar" PrefixI False) U1) (C1 (MetaCons "KindUnbox" PrefixI False) U1)) ((:+:) (C1 (MetaCons "KindFn" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_kindLeft") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Kind dom stage))) (S1 (MetaSel (Just Symbol "_kindRight") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Kind dom stage))))) (C1 (MetaCons "KindParen" PrefixI True) (S1 (MetaSel (Just Symbol "_kindParen") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Kind dom stage)))))) ((:+:) ((:+:) (C1 (MetaCons "KindVar" PrefixI True) (S1 (MetaSel (Just Symbol "_kindVar") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Name dom stage)))) (C1 (MetaCons "KindApp" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_kindAppFun") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Kind dom stage))) (S1 (MetaSel (Just Symbol "_kindAppArg") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Kind dom stage)))))) ((:+:) (C1 (MetaCons "KindList" PrefixI True) (S1 (MetaSel (Just Symbol "_kindElem") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Kind dom stage)))) (C1 (MetaCons "KindPromoted" PrefixI True) (S1 (MetaSel (Just Symbol "_kindPromoted") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann (Promoted Kind) dom stage)))))))

data Promoted t dom stage Source #

Instances

type Rep (Promoted k dom stage) Source # 
type Rep (Promoted k dom stage) = D1 (MetaData "Promoted" "Language.Haskell.Tools.AST.Kinds" "haskell-tools-ast-0.2.0.0-5y5XIph7fmGIUhHQZ35OfD" False) ((:+:) ((:+:) (C1 (MetaCons "PromotedInt" PrefixI True) (S1 (MetaSel (Just Symbol "_promotedIntValue") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer))) ((:+:) (C1 (MetaCons "PromotedString" PrefixI True) (S1 (MetaSel (Just Symbol "_promotedStringValue") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "PromotedCon" PrefixI True) (S1 (MetaSel (Just Symbol "_promotedConName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Name dom stage)))))) ((:+:) (C1 (MetaCons "PromotedList" PrefixI True) (S1 (MetaSel (Just Symbol "_promotedElements") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList k dom stage)))) ((:+:) (C1 (MetaCons "PromotedTuple" PrefixI True) (S1 (MetaSel (Just Symbol "_promotedElements") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList k dom stage)))) (C1 (MetaCons "PromotedUnit" PrefixI False) U1))))