Spec-Zone.ru › Haskell 9

Language.Haskell.TH.Syntax

Безопасность Haskell Доверенный
Язык Haskell2010

class Monad m => Quote (m :: Type -> Type) where Источник

Класс Quote реализует минимальный интерфейс, необходимый для десахаризации квазицитирований.

  • Суперкласс Monad m необходим для объединения различных фрагментов AST.
  • newName используется при десахаризации связывающих структур, таких как лямбда-выражения, для генерации новых имён.

Поэтому тип нетипизированного квазицитирования в GHC — `Quote m => m Exp`

Много лет тип квазицитирования был фиксирован как `Q Exp`, но более точное указание минимального интерфейса позволяет извлекать Exp непосредственно из квазицитирования, не взаимодействуя с Q.

Методы

newName :: String -> m Name Источник

Сгенерировать новое имя, которое нельзя захватить.

Например, это:

f = $(do
    nm1 <- newName "x"
    let nm2 = mkName "x"
    return (LamE [VarP nm1] (LamE [VarP nm2] (VarE nm1)))
   )

создаст сплайс

f = \x0 -> \x -> x0

В частности, вхождение VarE nm1 относится к связыванию VarP nm1 и не захватывается связыванием VarP nm2.

Хотя имена, сгенерированные с помощью newName, нельзя захватить, сами они могут захватывать другие имена. Например, это:

g = $(do
  nm1 <- newName "x"
  let nm2 = mkName "x"
  return (LamE [VarP nm2] (LamE [VarP nm1] (VarE nm2)))
 )

создаст сплайс

g = \x -> \x0 -> x0

поскольку вхождение VarE nm2 захватывается самым внутренним связыванием x, а именно VarP nm1.

Экземпляры
Подробности экземпляров
Quote Q Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

newName :: String -> Q Name Источник

Quote IO Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

newName :: String -> IO Name Источник

data Exp Источник

Выражение Haskell.

Конструкторы

VarE Name
{ x }
ConE Name
data T1 = C1 t1 t2; p = {C1} e1 e2
LitE Lit
{ 5 or 'c'}
AppE Exp Exp
{ f x }
AppTypeE Exp Type
{ f @Int }
InfixE (Maybe Exp) Exp (Maybe Exp)
{x + y} or {(x+)} or {(+ x)} or {(+)}
UInfixE Exp Exp Exp
{x + y}

См. Language.Haskell.TH.Syntax

ParensE Exp
{ (e) }

См. Language.Haskell.TH.Syntax

LamE [Pat] Exp
{ \ p1 p2 -> e }
LamCaseE [Match]
{ \case m1; m2 }
LamCasesE [Clause]
{ \cases m1; m2 }
TupE [Maybe Exp]
{ (e1,e2) }

Maybe необходим для обработки секций кортежей.

(1,)

преобразуется в

TupE [Just (LitE (IntegerL 1)),Nothing]
UnboxedTupE [Maybe Exp]
{ (# e1,e2 #) }

Maybe необходим для обработки секций кортежей.

(# 'c', #)

преобразуется в

UnboxedTupE [Just (LitE (CharL 'c')),Nothing]
UnboxedSumE Exp SumAlt SumArity
{ (#|e|#) }
CondE Exp Exp Exp
{ if e1 then e2 else e3 }
MultiIfE [(Guard, Exp)]
{ if | g1 -> e1 | g2 -> e2 }
LetE [Dec] Exp
{ let { x=e1; y=e2 } in e3 }
CaseE Exp [Match]
{ case e of m1; m2 }
DoE (Maybe ModName) [Stmt]

{ do { p <- e1; e2 } } или квалифицированный do, если указано имя модуля

MDoE (Maybe ModName) [Stmt]

{ mdo { x <- e1 y; y <- e2 x; } } или квалифицированный mdo, если указано имя модуля

CompE [Stmt]
{ [ (x,y) | x <- xs, y <- ys ] }

Результирующее выражение генератора списков — это последний из Stmt и оно должно быть NoBindS.

Например, преобразование:

[ f x | x <- xs ]
CompE [BindS (VarP x) (VarE xs), NoBindS (AppE (VarE f) (VarE x))]
ArithSeqE Range
{ [ 1 ,2 .. 10 ] }
ListE [Exp]
{ [1,2,3] }
SigE Exp Type
{ e :: t }
RecConE Name [FieldExp]
{ T { x = y, z = w } }
RecUpdE Exp [FieldExp]
{ (f x) { z = w } }
StaticE Exp
{ static e }
UnboundVarE Name
{ _x }

Используется для дыр или неразрешённых идентификаторов в AST-квазицитированиях. Обратите внимание, что это может быть как имя переменной, так и имя конструктора.

LabelE String

{ #x } ( перегруженная метка )

ImplicitParamVarE String

{ ?x } ( неявный параметр )

GetFieldE Exp String

{ exp.field } ( перегруженная точечная запись для полей )

ProjectionE (NonEmpty String)

(.x) или (.x.y) (проекции записей)

TypedBracketE Exp
[|| e ||]
TypedSpliceE Exp
$$e
TypeE Type
{ type t }
ForallE [TyVarBndr Specificity] Exp
forall <vars>. <expr>
ForallVisE [TyVarBndr ()] Exp
forall <vars> -> <expr>
ConstrainedE [Exp] Exp
<ctxt> => <expr>
Экземпляры
Подробности экземпляров
Ppr Exp Источник
Подробности экземпляра

Определено в GHC.Boot.TH.Ppr

Методы

ppr :: Exp -> Doc Источник

ppr_list :: [Exp] -> Doc Источник

Eq Exp Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: Exp -> Exp -> Bool Источник

(/=) :: Exp -> Exp -> Bool Источник

Ord Exp Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

compare :: Exp -> Exp -> Ordering Источник

(<) :: Exp -> Exp -> Bool Источник

(<=) :: Exp -> Exp -> Bool Источник

(>) :: Exp -> Exp -> Bool Источник

(>=) :: Exp -> Exp -> Bool Источник

max :: Exp -> Exp -> Exp Источник

min :: Exp -> Exp -> Exp Источник

Data Exp Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Exp -> c Exp Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Exp Источник

toConstr :: Exp -> Constr Источник

dataTypeOf :: Exp -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Exp) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Exp) Источник

gmapT :: (forall b. Data b => b -> b) -> Exp -> Exp Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Exp -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Exp -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> Exp -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> Exp -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Exp -> m Exp Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Exp -> m Exp Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Exp -> m Exp Источник

Generic Exp Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Ассоциированные типы

type Rep Exp
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep Exp = D1 ('MetaData "Exp" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (((((C1 ('MetaCons "VarE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "ConE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "LitE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Lit)) :+: C1 ('MetaCons "AppE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))) :+: ((C1 ('MetaCons "AppTypeE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "InfixE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Exp)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Exp))))) :+: (C1 ('MetaCons "UInfixE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp))) :+: (C1 ('MetaCons "ParensE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "LamE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))))) :+: (((C1 ('MetaCons "LamCaseE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Match])) :+: C1 ('MetaCons "LamCasesE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause]))) :+: (C1 ('MetaCons "TupE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Maybe Exp])) :+: (C1 ('MetaCons "UnboxedTupE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Maybe Exp])) :+: C1 ('MetaCons "UnboxedSumE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SumAlt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'Rec0 SumArity)))))) :+: ((C1 ('MetaCons "CondE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness '
DecidedLazy) (Rec0 Exp))) :+: C1 ('MetaCons "MultiIfE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Guard, Exp)]))) :+: (C1 ('MetaCons "LetE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: (C1 ('MetaCons "CaseE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Match])) :+: C1 ('MetaCons "DoE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ModName)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt]))))))) :+: ((((C1 ('MetaCons "MDoE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ModName)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt])) :+: C1 ('MetaCons "CompE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt]))) :+: (C1 ('MetaCons "ArithSeqE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)) :+: C1 ('MetaCons "ListE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Exp])))) :+: ((C1 ('MetaCons "SigE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "RecConE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FieldExp]))) :+: (C1 ('MetaCons "RecUpdE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FieldExp])) :+: (C1 ('MetaCons "StaticE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "UnboundVarE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))))) :+: (((C1 ('MetaCons "LabelE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "ImplicitParamVarE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "GetFieldE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "ProjectionE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonEmpty String))) :+:
C1 ('MetaCons "TypedBracketE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp))))) :+: ((C1 ('MetaCons "TypedSpliceE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "TypeE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons "ForallE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr Specificity]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: (C1 ('MetaCons "ForallVisE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr ()]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "ConstrainedE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Exp]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp))))))))

Методы

from :: Exp -> Rep Exp x Источник

to :: Rep Exp x -> Exp Источник

Show Exp Источник
Подробное описание экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Exp -> ShowS Источник

show :: Exp -> String Источник

showList :: [Exp] -> ShowS Источник

Lift Exp Источник

Начиная с: template-haskell-2.22.1.0

Подробное описание экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Exp -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Exp -> Code m Exp Источник

type Rep Exp Источник
Подробное описание экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep Exp = D1 ('MetaData "Exp" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (((((C1 ('MetaCons "VarE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "ConE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "LitE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Lit)) :+: C1 ('MetaCons "AppE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))) :+: ((C1 ('MetaCons "AppTypeE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "InfixE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Exp)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Exp))))) :+: (C1 ('MetaCons "UInfixE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp))) :+: (C1 ('MetaCons "ParensE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "LamE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))))) :+: (((C1 ('MetaCons "LamCaseE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Match])) :+: C1 ('MetaCons "LamCasesE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause]))) :+: (C1 ('MetaCons "TupE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Maybe Exp])) :+: (C1 ('MetaCons "UnboxedTupE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Maybe Exp])) :+: C1 ('MetaCons "UnboxedSumE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SumAlt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SumArity)))))) :+: ((C1 ('MetaCons "CondE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0
Exp))) :+: C1 ('MetaCons "MultiIfE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Guard, Exp)]))) :+: (C1 ('MetaCons "LetE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: (C1 ('MetaCons "CaseE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Match])) :+: C1 ('MetaCons "DoE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ModName)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt]))))))) :+: ((((C1 ('MetaCons "MDoE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ModName)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt])) :+: C1 ('MetaCons "CompE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt]))) :+: (C1 ('MetaCons "ArithSeqE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)) :+: C1 ('MetaCons "ListE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Exp])))) :+: ((C1 ('MetaCons "SigE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "RecConE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FieldExp]))) :+: (C1 ('MetaCons "RecUpdE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FieldExp])) :+: (C1 ('MetaCons "StaticE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "UnboundVarE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))))) :+: (((C1 ('MetaCons "LabelE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "ImplicitParamVarE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "GetFieldE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "ProjectionE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonEmpty String))) :+: C1 ('MetaCons "TypedBracketE" 'PrefixI 'False) (
S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp))))) :+: ((C1 ('MetaCons "TypedSpliceE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "TypeE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons "ForallE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr Specificity]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: (C1 ('MetaCons "ForallVisE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr ()]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "ConstrainedE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Exp]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp))))))))

data Match Источник

А case-альтернатива

Конструкторы

Match Pat Body [Dec]
case e of { pat -> body where decs }
Экземпляры
Подробности экземпляров
Ppr Match Источник
Подробности экземпляра

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: Match -> Doc Источник

ppr_list :: [Match] -> Doc Источник

Eq Match Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Match -> Match -> Bool Источник

(/=) :: Match -> Match -> Bool Источник

Ord Match Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Match -> Match -> Ordering Источник

(<) :: Match -> Match -> Bool Источник

(<=) :: Match -> Match -> Bool Источник

(>) :: Match -> Match -> Bool Источник

(>=) :: Match -> Match -> Bool Источник

max :: Match -> Match -> Match Источник

min :: Match -> Match -> Match Источник

Data Match Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Match -> c Match Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Match Источник

toConstr :: Match -> Constr Источник

dataTypeOf :: Match -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Match) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Match) Источник

gmapT :: (forall b. Data b => b -> b) -> Match -> Match Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Match -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Match -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> Match -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> Match -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Match -> m Match Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Match -> m Match Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Match -> m Match Источник

Generic Match Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Ассоциированные типы

type Rep Match
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Match = D1 ('MetaData "Match" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Match" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Body) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))))

Методы

from :: Match -> Rep Match x Источник

to :: Rep Match x -> Match Источник

Show Match Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Match -> ShowS Источник

show :: Match -> String Источник

showList :: [Match] -> ShowS Источник

Lift Match Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Match -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Match -> Code m Match Источник

type Rep Match Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Match = D1 ('MetaData "Match" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Match" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Body) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))))

data Clause Источник

Предложение состоит из образцов, защитных условий, выражения тела и списка объявлений внутри where. Предложения встречаются в уравнениях определений функций, case-выражениях, явно двунаправленных синонимах образцов и т. д.

Конструкторы

Clause [Pat] Body [Dec]
f { p1 p2 = body where decs }
Экземпляры
Подробности экземпляров
Ppr Clause Источник
Подробности экземпляра

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: Clause -> Doc Источник

ppr_list :: [Clause] -> Doc Источник

Eq Clause Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Clause -> Clause -> Bool Источник

(/=) :: Clause -> Clause -> Bool Источник

Ord Clause Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Clause -> Clause -> Ordering Источник

(<) :: Clause -> Clause -> Bool Источник

(<=) :: Clause -> Clause -> Bool Источник

(>) :: Clause -> Clause -> Bool Источник

(>=) :: Clause -> Clause -> Bool Источник

max :: Clause -> Clause -> Clause Источник

min :: Clause -> Clause -> Clause Источник

Data Clause Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Clause -> c Clause Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Clause Источник

toConstr :: Clause -> Constr Источник

dataTypeOf :: Clause -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Clause) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Clause) Источник

gmapT :: (forall b. Data b => b -> b) -> Clause -> Clause Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Clause -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Clause -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> Clause -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> Clause -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Clause -> m Clause Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Clause -> m Clause Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Clause -> m Clause Источник

Generic Clause Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Ассоциированные типы

type Rep Clause
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Clause = D1 ('MetaData "Clause" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Clause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Body) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))))

Методы

from :: Clause -> Rep Clause x Источник

to :: Rep Clause x -> Clause Источник

Show Clause Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Clause -> ShowS Источник

show :: Clause -> String Источник

showList :: [Clause] -> ShowS Источник

Lift Clause Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Clause -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Clause -> Code m Clause Источник

type Rep Clause Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Clause = D1 ('MetaData "Clause" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Clause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Body) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))))

newtype Q a Источник

Короче говоря, Q предоставляет пользователю операции Quasi в рамках одного удобного монада.

Если говорить подробнее, Q оборачивает произвольную монаду с поддержкой Quasi. Внимательный читатель заметит, что у Quasi есть только два экземпляра: сам Q и IO, причём ни один из них не имеет конкретных реализаций. Q использует принцип инверсии зависимостей, предоставляя пользователю абстрактный интерфейс, который позднее получает конкретную реализацию в виде экземпляра Quasi, внутреннего для GHC.

Конструкторы

Q

Поля

  • unQ :: forall (m :: Type -> Type). Quasi m => m a
Экземпляры
Подробная информация об экземплярах
Applicative Q Исходный код
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

pure :: a -> Q a Исходный код

(<*>) :: Q (a -> b) -> Q a -> Q b Исходный код

liftA2 :: (a -> b -> c) -> Q a -> Q b -> Q c Исходный код

(*>) :: Q a -> Q b -> Q b Исходный код

(<*) :: Q a -> Q b -> Q a Исходный код

Functor Q Исходный код
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

fmap :: (a -> b) -> Q a -> Q b Исходный код

(<$) :: a -> Q b -> Q a Исходный код

Monad Q Исходный код
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

(>>=) :: Q a -> (a -> Q b) -> Q b Исходный код

(>>) :: Q a -> Q b -> Q b Исходный код

return :: a -> Q a Исходный код

MonadFail Q Исходный код
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

fail :: HasCallStack => String -> Q a Исходный код

MonadFix Q Исходный код

Если функция, переданная в mfix, анализирует свой аргумент, результирующее действие вызовет FixIOException.

Начиная с: ghc-internal-2.17.0.0

Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

mfix :: (a -> Q a) -> Q a Исходный код

MonadIO Q Исходный код
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

liftIO :: IO a -> Q a Исходный код

Quasi Q Исходный код
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

qNewName :: String -> Q Name Исходный код

qReport :: Bool -> String -> Q () Исходный код

qRecover :: Q a -> Q a -> Q a Исходный код

qLookupName :: Bool -> String -> Q (Maybe Name) Исходный код

qReify :: Name -> Q Info Исходный код

qReifyFixity :: Name -> Q (Maybe Fixity) Исходный код

qReifyType :: Name -> Q Type Исходный код

qReifyInstances :: Name -> [Type] -> Q [Dec] Исходный код

qReifyRoles :: Name -> Q [Role] Исходный код

qReifyAnnotations :: Data a => AnnLookup -> Q [a] Исходный код

qReifyModule :: Module -> Q ModuleInfo Исходный код

qReifyConStrictness :: Name -> Q [DecidedStrictness] Исходный код

qLocation :: Q Loc Исходный код

qRunIO :: IO a -> Q a Исходный код

qGetPackageRoot :: Q FilePath Исходный код

qAddDependentFile :: FilePath -> Q () Исходный код

qAddTempFile :: String -> Q FilePath Исходный код

qAddTopDecls :: [Dec] -> Q () Исходный код

qAddForeignFilePath :: ForeignSrcLang -> String -> Q () Исходный код

qAddModFinalizer :: Q () -> Q () Исходный код

qAddCorePlugin :: String -> Q () Исходный код

qGetQ :: Typeable a => Q (Maybe a) Исходный код

qPutQ :: Typeable a => a -> Q () Исходный код

qIsExtEnabled :: Extension -> Q Bool Исходный код

qExtsEnabled :: Q [Extension] Исходный код

qPutDoc :: DocLoc -> String -> Q () Исходный код

qGetDoc :: DocLoc -> Q (Maybe String) Исходный код

Quote Q Исходный код
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

newName :: String -> Q Name Исходный код

Monoid a => Monoid (Q a) Исходный код

Начиная с: ghc-internal-2.17.0.0

Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

mempty :: Q a Исходный код

mappend :: Q a -> Q a -> Q a Исходный код

mconcat :: [Q a] -> Q a Исходный код

Semigroup a => Semigroup (Q a) Исходный код

Начиная с: ghc-internal-2.17.0.0

Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

(<>) :: Q a -> Q a -> Q a Исходный код

sconcat :: NonEmpty (Q a) -> Q a Исходный код

stimes :: Integral b => b -> Q a -> Q a Исходный код

data Pat Исходный код

Шаблон в Haskell, заданный в {}

Конструкторы

LitP Lit
{ 5 or 'c' }
VarP Name
{ x }
TupP [Pat]
{ (p1,p2) }
UnboxedTupP [Pat]
{ (# p1,p2 #) }
UnboxedSumP Pat SumAlt SumArity
{ (#|p|#) }
ConP Name [Type] [Pat]
data T1 = C1 t1 t2; {C1 @ty1 p1 p2} = e
InfixP Pat Name Pat
foo ({x :+ y}) = e
UInfixP Pat Name Pat
foo ({x :+ y}) = e

См. Language.Haskell.TH.Syntax

ParensP Pat
{(p)}

См. Language.Haskell.TH.Syntax

TildeP Pat
{ ~p }
BangP Pat
{ !p }
AsP Name Pat
{ x @ p }
WildP
{ _ }
RecP Name [FieldPat]
f (Pt { pointx = x }) = g x
ListP [Pat]
{ [1,2,3] }
SigP Pat Type
{ p :: t }
ViewP Exp Pat
{ e -> p }
TypeP Type
{ type p }
InvisP Type

{ p }@

OrP (NonEmpty Pat)
{ p1; p2 }
Экземпляры
Сведения об экземплярах
Ppr Pat Исходный код
Сведения об экземпляре

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: Pat -> Doc Исходный код

ppr_list :: [Pat] -> Doc Исходный код

Eq Pat Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Pat -> Pat -> Bool Исходный код

(/=) :: Pat -> Pat -> Bool Исходный код

Ord Pat Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Pat -> Pat -> Ordering Исходный код

(<) :: Pat -> Pat -> Bool Исходный код

(<=) :: Pat -> Pat -> Bool Исходный код

(>) :: Pat -> Pat -> Bool Исходный код

(>=) :: Pat -> Pat -> Bool Исходный код

max :: Pat -> Pat -> Pat Исходный код

min :: Pat -> Pat -> Pat Исходный код

Data Pat Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Pat -> c Pat Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Pat Исходный код

toConstr :: Pat -> Constr Исходный код

dataTypeOf :: Pat -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Pat) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Pat) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Pat -> Pat Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Pat -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Pat -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Pat -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Pat -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Pat -> m Pat Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Pat -> m Pat Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Pat -> m Pat Исходный код

Generic Pat Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep Pat
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep Pat = D1 ('MetaData "Pat" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((((C1 ('MetaCons "LitP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Lit)) :+: C1 ('MetaCons "VarP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "TupP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat])) :+: (C1 ('MetaCons "UnboxedTupP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat])) :+: C1 ('MetaCons "UnboxedSumP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SumAlt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SumArity)))))) :+: ((C1 ('MetaCons "ConP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat]))) :+: C1 ('MetaCons "InfixP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat)))) :+: (C1 ('MetaCons "UInfixP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat))) :+: (C1 ('MetaCons "ParensP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat)) :+: C1 ('MetaCons "TildeP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat)))))) :+: (((C1 ('MetaCons "BangP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat)) :+: C1 ('MetaCons "AsP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat))) :+: (C1 ('MetaCons "WildP" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RecP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FieldPat])) :+: C1 ('MetaCons "ListP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat]))))) :+: ((C1 ('MetaCons "SigP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe
Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "ViewP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat))) :+: (C1 ('MetaCons "TypeP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons "InvisP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "OrP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonEmpty Pat))))))))

Методы

from :: Pat -> Rep Pat x Источник

to :: Rep Pat x -> Pat Источник

Show Pat Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Pat -> ShowS Источник

show :: Pat -> String Источник

showList :: [Pat] -> ShowS Источник

Lift Pat Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Pat -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Pat -> Code m Pat Источник

type Rep Pat Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep Pat = D1 ('MetaData "Pat" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((((C1 ('MetaCons "LitP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Lit)) :+: C1 ('MetaCons "VarP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "TupP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat])) :+: (C1 ('MetaCons "UnboxedTupP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat])) :+: C1 ('MetaCons "UnboxedSumP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SumAlt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SumArity)))))) :+: ((C1 ('MetaCons "ConP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat]))) :+: C1 ('MetaCons "InfixP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'Rec0 Pat)))) :+: (C1 ('MetaCons "UInfixP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'Rec0 Pat))) :+: (C1 ('MetaCons "ParensP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'Rec0 Pat)) :+: C1 ('MetaCons "TildeP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'Rec0 Pat)))))) :+: (((C1 ('MetaCons "BangP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'Rec0 Pat)) :+: C1 ('MetaCons "AsP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'Rec0 Pat))) :+: (C1 ('MetaCons "WildP" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RecP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'Rec0 [FieldPat])) :+: C1 ('MetaCons "ListP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'Rec0 [Pat]))))) :+: ((C1 ('MetaCons "SigP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'Rec0 Pat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) '
NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "ViewP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat))) :+: (C1 ('MetaCons "TypeP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons "InvisP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "OrP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonEmpty Pat))))))))

data Stmt Исходный код

Отдельное выражение, как в do-нотации.

Конструкторы

BindS Pat Exp
p <- e
LetS [Dec]
{ let { x=e1; y=e2 } }
NoBindS Exp
e
ParS [[Stmt]]

x <- e1 | s2, s3 | s4 (в CompE)

RecS [Stmt]
rec { s1; s2 }
Экземпляры
Подробности экземпляров
Ppr Stmt Исходный код
Подробности экземпляра

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: Stmt -> Doc Исходный код

ppr_list :: [Stmt] -> Doc Исходный код

Eq Stmt Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Stmt -> Stmt -> Bool Исходный код

(/=) :: Stmt -> Stmt -> Bool Исходный код

Ord Stmt Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Stmt -> Stmt -> Ordering Исходный код

(<) :: Stmt -> Stmt -> Bool Исходный код

(<=) :: Stmt -> Stmt -> Bool Исходный код

(>) :: Stmt -> Stmt -> Bool Исходный код

(>=) :: Stmt -> Stmt -> Bool Исходный код

max :: Stmt -> Stmt -> Stmt Исходный код

min :: Stmt -> Stmt -> Stmt Исходный код

Data Stmt Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Stmt -> c Stmt Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Stmt Исходный код

toConstr :: Stmt -> Constr Исходный код

dataTypeOf :: Stmt -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Stmt) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Stmt) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Stmt -> Stmt Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Stmt -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Stmt -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Stmt -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Stmt -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Stmt -> m Stmt Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Stmt -> m Stmt Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Stmt -> m Stmt Исходный код

Generic Stmt Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep Stmt
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Stmt = D1 ('MetaData "Stmt" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "BindS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "LetS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))) :+: (C1 ('MetaCons "NoBindS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: (C1 ('MetaCons "ParS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [[Stmt]])) :+: C1 ('MetaCons "RecS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt])))))

Методы

from :: Stmt -> Rep Stmt x Исходный код

to :: Rep Stmt x -> Stmt Исходный код

Show Stmt Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Stmt -> ShowS Исходный код

show :: Stmt -> String Исходный код

showList :: [Stmt] -> ShowS Исходный код

Lift Stmt Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Stmt -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Stmt -> Code m Stmt Исходный код

type Rep Stmt Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep Stmt = D1 ('MetaData "Stmt" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "BindS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "LetS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))) :+: (C1 ('MetaCons "NoBindS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: (C1 ('MetaCons "ParS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [[Stmt]])) :+: C1 ('MetaCons "RecS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt])))))

data Con Исходный код

Конструктор данных.

Конструкторы для Con можно условно разделить на две категории: конструкторы с «обычным» синтаксисом (NormalC, RecC и InfixC) и конструкторы с синтаксисом GADT (GadtC и RecGadtC). Конструктор ForallC, который квантифицирует дополнительные переменные типов и контексты классов, может охватывать конструктор любого из этих видов. Однако квантифицируемые им переменные типов различаются в зависимости от используемого синтаксиса конструктора:

  • Если ForallC охватывает конструктор с обычным синтаксисом, то ForallC будет квантифицировать только экзистенциальные переменные типов. Например:
  data Foo a = forall b. MkFoo a b
  

В MkFoo ForallC будет квантифицировать b, но не a.

  • Если ForallC охватывает конструктор с синтаксисом GADT, то ForallC будет квантифицировать все переменные типов, используемые в конструкторе. Например:
  data Bar a b where
    MkBar :: (a ~ b) => c -> MkBar a b
  

В MkBar ForallC будет квантифицировать a, b и c.

Аннотации кратности для типов данных в настоящее время не поддерживаются в Template Haskell (то есть все поля, представленные в Template Haskell, будут линейными).

Конструкторы

NormalC Name [BangType]
C Int a
RecC Name [VarBangType]
C { v :: Int, w :: a }
InfixC BangType Name BangType
Int :+ a
ForallC [TyVarBndr Specificity] Cxt Con
forall a. Eq a => C [a]
GadtC

Поля

  • [Name]

    Список конструкторов, соответствующий синтаксису конструктора GADT C1, C2 :: a -> T b.

    Инвариант: список должен быть непустым.

  • [BangType]

    Аргументы конструктора

  • Type

    См. примечание [GADT return type]

RecGadtC
C :: { v :: Int } -> T b Int

Поля

  • [Name]

    Список конструкторов, соответствующий синтаксису конструктора записи GADT C1, C2 :: { fld :: a } -> T b.

    Инвариант: список должен быть непустым.

  • [VarBangType]

    Аргументы конструктора

  • Type

    См. примечание [GADT return type]

Экземпляры
Подробности экземпляров
Ppr Con Исходный код
Подробности экземпляра

Определено в GHC.Boot.TH.Ppr

Методы

ppr :: Con -> Doc Исходный код

ppr_list :: [Con] -> Doc Исходный код

Eq Con Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: Con -> Con -> Bool Исходный код

(/=) :: Con -> Con -> Bool Исходный код

Ord Con Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

compare :: Con -> Con -> Ordering Исходный код

(<) :: Con -> Con -> Bool Исходный код

(<=) :: Con -> Con -> Bool Исходный код

(>) :: Con -> Con -> Bool Исходный код

(>=) :: Con -> Con -> Bool Исходный код

max :: Con -> Con -> Con Исходный код

min :: Con -> Con -> Con Исходный код

Data Con Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Con -> c Con Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Con Исходный код

toConstr :: Con -> Constr Исходный код

dataTypeOf :: Con -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Con) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Con) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Con -> Con Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Con -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Con -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Con -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Con -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Con -> m Con Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Con -> m Con Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Con -> m Con Исходный код

Generic Con Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Связанные типы

type Rep Con
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep Con = D1 ('MetaData "Con" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "NormalC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [BangType])) :+: (C1 ('MetaCons "RecC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [VarBangType])) :+: C1 ('MetaCons "InfixC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BangType) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BangType))))) :+: (C1 ('MetaCons "ForallC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr Specificity]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Con))) :+: (C1 ('MetaCons "GadtC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [BangType]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "RecGadtC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [VarBangType]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))))

Методы

from :: Con -> Rep Con x Исходный код

to :: Rep Con x -> Con Исходный код

Show Con Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Con -> ShowS Исходный код

show :: Con -> String Исходный код

showList :: [Con] -> ShowS Исходный код

Lift Con Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Con -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Con -> Code m Con Исходный код

type Rep Con Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep Con = D1 ('MetaData "Con" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "NormalC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [BangType])) :+: (C1 ('MetaCons "RecC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [VarBangType])) :+: C1 ('MetaCons "InfixC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BangType) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BangType))))) :+: (C1 ('MetaCons "ForallC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr Specificity]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Con))) :+: (C1 ('MetaCons "GadtC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [BangType]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "RecGadtC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [VarBangType]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))))

data Type Исходный код

Тип Haskell.

Конструкторы

ForallT [TyVarBndr Specificity] Cxt Type
forall <vars>. <ctxt> => <type>
ForallVisT [TyVarBndr ()] Type
forall <vars> -> <type>
AppT Type Type
T a b
AppKindT Type Kind
T @k t
SigT Type Kind
t :: k
VarT Name
a
ConT Name
T
PromotedT Name
'T
InfixT Type Name Type
T + T
UInfixT Type Name Type
T + T

См. Language.Haskell.TH.Syntax

PromotedInfixT Type Name Type
T :+: T
PromotedUInfixT Type Name Type
T :+: T

См. Language.Haskell.TH.Syntax

ParensT Type
(T)
TupleT Int

(,), (,,) и т. д.

UnboxedTupleT Int

(#,#), (#,,#) и т. д.

UnboxedSumT SumArity

(#|#), (#||#) и т. д.

ArrowT
->
MulArrowT
%n ->

Обобщённый тип стрелки с аргументом кратности

EqualityT
~
ListT
[]
PromotedTupleT Int

'(), '(,), '(,,) и т. д.

PromotedNilT
'[]
PromotedConsT
'(:)
StarT
*
ConstraintT
Constraint
LitT TyLit

0, 1, 2 и т. д.

WildCardT
_
ImplicitParamT String Type
?x :: t
Экземпляры
Сведения об экземплярах
Ppr Type Исходный код
Сведения об экземпляре

Определено в GHC.Boot.TH.Ppr

Методы

ppr :: Type -> Doc Исходный код

ppr_list :: [Type] -> Doc Исходный код

Eq Type Исходный код
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: Type -> Type -> Bool Исходный код

(/=) :: Type -> Type -> Bool Исходный код

Ord Type Исходный код
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

compare :: Type -> Type -> Ordering Исходный код

(<) :: Type -> Type -> Bool Исходный код

(<=) :: Type -> Type -> Bool Исходный код

(>) :: Type -> Type -> Bool Исходный код

(>=) :: Type -> Type -> Bool Исходный код

max :: Type -> Type -> Type Исходный код

min :: Type -> Type -> Type Исходный код

Data Type Исходный код
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Type -> c Type Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Type Исходный код

toConstr :: Type -> Constr Исходный код

dataTypeOf :: Type -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Type) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Type) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Type -> Type Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Type -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Type -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Type -> m Type Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type Исходный код

Generic Type Исходный код
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Связанные типы

type Rep Type
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

type Rep Type = D1 ('MetaData "Type" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((((C1 ('MetaCons "ForallT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr Specificity]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons "ForallVisT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr ()]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "AppT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: ((C1 ('MetaCons "AppKindT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind)) :+: C1 ('MetaCons "SigT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind))) :+: (C1 ('MetaCons "VarT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "ConT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))))) :+: ((C1 ('MetaCons "PromotedT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: (C1 ('MetaCons "InfixT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "UInfixT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))) :+: ((C1 ('MetaCons "PromotedInfixT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "PromotedUInfixT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: (C1 ('MetaCons "ParensT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness '
NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "TupleT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))))) :+: (((C1 ('MetaCons "UnboxedTupleT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: (C1 ('MetaCons "UnboxedSumT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SumArity)) :+: C1 ('MetaCons "ArrowT" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "MulArrowT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EqualityT" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ListT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PromotedTupleT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))) :+: ((C1 ('MetaCons "PromotedNilT" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PromotedConsT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StarT" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ConstraintT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LitT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TyLit))) :+: (C1 ('MetaCons "WildCardT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ImplicitParamT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))))))

Методы

from :: Type -> Rep Type x Исходный код

to :: Rep Type x -> Type Исходный код

Show Type Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Type -> ShowS Исходный код

show :: Type -> String Исходный код

showList :: [Type] -> ShowS Исходный код

Lift Type Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Type -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Type -> Code m Type Исходный код

type Rep Type Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep Type = D1 ('MetaData "Type" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((((C1 ('MetaCons "ForallT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr Specificity]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons "ForallVisT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr ()]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "AppT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: ((C1 ('MetaCons "AppKindT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind)) :+: C1 ('MetaCons "SigT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind))) :+: (C1 ('MetaCons "VarT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "ConT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))))) :+: ((C1 ('MetaCons "PromotedT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: (C1 ('MetaCons "InfixT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "UInfixT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))) :+: ((C1 ('MetaCons "PromotedInfixT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "PromotedUInfixT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: (C1 ('MetaCons "ParensT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness '
DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "TupleT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))))) :+: (((C1 ('MetaCons "UnboxedTupleT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: (C1 ('MetaCons "UnboxedSumT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SumArity)) :+: C1 ('MetaCons "ArrowT" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "MulArrowT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EqualityT" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ListT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PromotedTupleT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))) :+: ((C1 ('MetaCons "PromotedNilT" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PromotedConsT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StarT" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ConstraintT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LitT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TyLit))) :+: (C1 ('MetaCons "WildCardT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ImplicitParamT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))))))

data Dec Источник

Одно объявление.

Конструкторы

FunD Name [Clause]
{ f p1 p2 = b where decs }
ValD Pat Body [Dec]
{ p = b where decs }
DataD Cxt Name [TyVarBndr BndrVis] (Maybe Kind) [Con] [DerivClause]
{ data Cxt x => T x = A x | B (T x)
       deriving (Z,W)
       deriving stock Eq }
NewtypeD Cxt Name [TyVarBndr BndrVis] (Maybe Kind) Con [DerivClause]
{ newtype Cxt x => T x = A (B x)
       deriving (Z,W Q)
       deriving stock Eq }
TypeDataD Name [TyVarBndr BndrVis] (Maybe Kind) [Con]
{ type data T x = A x | B (T x) }
TySynD Name [TyVarBndr BndrVis] Type
{ type T x = (x,x) }
ClassD Cxt Name [TyVarBndr BndrVis] [FunDep] [Dec]
{ class Eq a => Ord a where ds }
InstanceD (Maybe Overlap) Cxt Type [Dec]
{ instance {-# OVERLAPS #-}
        Show w => Show [w] where ds }
SigD Name Type
{ length :: [a] -> Int }
KiSigD Name Kind
{ type TypeRep :: k -> Type }
ForeignD Foreign
{ foreign import ... }
{ foreign export ... }
InfixD Fixity NamespaceSpecifier Name
{ infix 3 data foo }
DefaultD [Type]
{ default (Integer, Double) }
PragmaD

прагмы

Поля

  • Pragma
    { {-# INLINE [1] foo #-} }
DataFamilyD

семейства типов данных (также могут встречаться в [Dec] для ClassD и InstanceD)

Поля

  • Name
  • [TyVarBndr BndrVis]
  • (Maybe Kind)
    { data family T a b c :: * }
DataInstD Cxt (Maybe [TyVarBndr ()]) Type (Maybe Kind) [Con] [DerivClause]
{ data instance Cxt x => T [x]
       = A x | B (T x)
       deriving (Z,W)
       deriving stock Eq }
NewtypeInstD Cxt (Maybe [TyVarBndr ()]) Type (Maybe Kind) Con [DerivClause]
{ newtype instance Cxt x => T [x]
        = A (B x)
        deriving (Z,W)
        deriving stock Eq }
TySynInstD TySynEqn
{ type instance ... }
OpenTypeFamilyD

открытые семейства типов (также могут встречаться в [Dec] для ClassD и InstanceD)

Поля

  • TypeFamilyHead
    { type family T a b c = (r :: *) | r -> a b }
ClosedTypeFamilyD TypeFamilyHead [TySynEqn]
{ type family F a b = (r :: *) | r -> a where ... }
RoleAnnotD Name [Role]
{ type role T nominal representational }
StandaloneDerivD (Maybe DerivStrategy) Cxt Type
{ deriving stock instance Ord a => Ord (Foo a) }
DefaultSigD Name Type
{ default size :: Data a => a -> Int }
PatSynD

Синонимы образцов

Поля

  • Name
  • PatSynArgs
  • PatSynDir
  • Pat

    { pattern P v1 v2 .. vn <- p } однонаправленный или { pattern P v1 v2 .. vn = p } неявно двунаправленный, или { pattern P v1 v2 .. vn <- p where P v1 v2 .. vn = e } явно двунаправленный

    Кроме префиксных синонимов образцов поддерживаются также инфиксные синонимы и синонимы образцов с записью. Подробности см. в PatSynArgs

PatSynSigD Name PatSynType

Сигнатура типа синонима образца.

ImplicitParamBindD String Exp
{ ?x = expr }

Объявление привязки неявного параметра. Может использоваться только в выражениях let и where, состоящих исключительно из неявных привязок.

Экземпляры
Подробная информация об экземплярах
Ppr Dec Источник
Подробная информация об экземпляре

Определено в GHC.Boot.TH.Ppr

Методы

ppr :: Dec -> Doc Источник

ppr_list :: [Dec] -> Doc Источник

Eq Dec Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: Dec -> Dec -> Bool Источник

(/=) :: Dec -> Dec -> Bool Источник

Ord Dec Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

compare :: Dec -> Dec -> Ordering Источник

(<) :: Dec -> Dec -> Bool Источник

(<=) :: Dec -> Dec -> Bool Источник

(>) :: Dec -> Dec -> Bool Источник

(>=) :: Dec -> Dec -> Bool Источник

max :: Dec -> Dec -> Dec Источник

min :: Dec -> Dec -> Dec Источник

Data Dec Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Dec -> c Dec Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Dec Источник

toConstr :: Dec -> Constr Источник

dataTypeOf :: Dec -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Dec) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Dec) Источник

gmapT :: (forall b. Data b => b -> b) -> Dec -> Dec Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Dec -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Dec -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> Dec -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> Dec -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Dec -> m Dec Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Dec -> m Dec Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Dec -> m Dec Источник

Generic Dec Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Ассоциированные типы

type Rep Dec
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

type Rep Dec = D1 ('MetaData "Dec" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((((C1 ('MetaCons "FunD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause])) :+: (C1 ('MetaCons "ValD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Body) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))) :+: C1 ('MetaCons "DataD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Con]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DerivClause])))))) :+: (C1 ('MetaCons "NewtypeD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Con) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DerivClause])))) :+: (C1 ('MetaCons "TypeDataD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Con]))) :+: C1 ('MetaCons "TySynD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))))) :+: ((C1 ('MetaCons "ClassD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FunDep]) :*:
S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec])))) :+: (C1 ('MetaCons "InstanceD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Overlap)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))) :+: C1 ('MetaCons "SigD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: ((C1 ('MetaCons "KiSigD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind)) :+: C1 ('MetaCons "ForeignD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Foreign))) :+: (C1 ('MetaCons "InfixD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Fixity) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NamespaceSpecifier) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: C1 ('MetaCons "DefaultD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type])))))) :+: (((C1 ('MetaCons "PragmaD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pragma)) :+: (C1 ('MetaCons "DataFamilyD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)))) :+: C1 ('MetaCons "DataInstD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBndr ()])) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Con]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DerivClause])))))) :+: (C1 ('MetaCons "NewtypeInstD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBndr ()])) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness
NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Con) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DerivClause])))) :+: (C1 ('MetaCons "TySynInstD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TySynEqn)) :+: C1 ('MetaCons "OpenTypeFamilyD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeFamilyHead))))) :+: ((C1 ('MetaCons "ClosedTypeFamilyD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeFamilyHead) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TySynEqn])) :+: (C1 ('MetaCons "RoleAnnotD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Role])) :+: C1 ('MetaCons "StandaloneDerivD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Maybe DerivStrategy)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))) :+: ((C1 ('MetaCons "DefaultSigD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "PatSynD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatSynArgs)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatSynDir) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat)))) :+: (C1 ('MetaCons "PatSynSigD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatSynType)) :+: C1 ('MetaCons "ImplicitParamBindD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))))))

Методы

from :: Dec -> Rep Dec x Источник

to :: Rep Dec x -> Dec Источник

Show Dec Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Dec -> ShowS Источник

show :: Dec -> String Источник

showList :: [Dec] -> ShowS Источник

Lift Dec Источник

С версии: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Dec -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Dec -> Code m Dec Источник

type Rep Dec Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep Dec = D1 ('MetaData "Dec" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((((C1 ('MetaCons "FunD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause])) :+: (C1 ('MetaCons "ValD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Body) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))) :+: C1 ('MetaCons "DataD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Con]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DerivClause])))))) :+: (C1 ('MetaCons "NewtypeD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Con) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DerivClause])))) :+: (C1 ('MetaCons "TypeDataD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Con]))) :+: C1 ('MetaCons "TySynD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))))) :+: ((C1 ('MetaCons "ClassD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FunDep]) :*: S1 ('
MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec])))) :+: (C1 ('MetaCons "InstanceD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Overlap)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))) :+: C1 ('MetaCons "SigD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: ((C1 ('MetaCons "KiSigD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind)) :+: C1 ('MetaCons "ForeignD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Foreign))) :+: (C1 ('MetaCons "InfixD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Fixity) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NamespaceSpecifier) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: C1 ('MetaCons "DefaultD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type])))))) :+: (((C1 ('MetaCons "PragmaD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pragma)) :+: (C1 ('MetaCons "DataFamilyD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)))) :+: C1 ('MetaCons "DataInstD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBndr ()])) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Con]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DerivClause])))))) :+: (C1 ('MetaCons "NewtypeInstD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBndr ()])) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (
Maybe Kind)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Con) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DerivClause])))) :+: (C1 ('MetaCons "TySynInstD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TySynEqn)) :+: C1 ('MetaCons "OpenTypeFamilyD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeFamilyHead))))) :+: ((C1 ('MetaCons "ClosedTypeFamilyD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeFamilyHead) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TySynEqn])) :+: (C1 ('MetaCons "RoleAnnotD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Role])) :+: C1 ('MetaCons "StandaloneDerivD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe DerivStrategy)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))) :+: ((C1 ('MetaCons "DefaultSigD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "PatSynD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatSynArgs)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatSynDir) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat)))) :+: (C1 ('MetaCons "PatSynSigD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatSynType)) :+: C1 ('MetaCons "ImplicitParamBindD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))))))

type BangType = (Bang, Type) Исходный код

Тип с аннотацией строгости, как в конструкторах данных. См. Con.

type VarBangType = (Name, Bang, Type) Исходный код

BangType, но для полей записей. См. Con.

type FieldExp = (Name, Exp) Исходный код

Пара (имя поля, выражение). См. RecConE и RecUpdE.

type FieldPat = (Name, Pat) Исходный код

Пара (имя поля, шаблон). См. RecP.

data Name Исходный код

Абстрактный тип, представляющий имена в синтаксическом дереве.

Объекты типа Name можно создавать несколькими способами, обеспечивающими разные гарантии относительно захвата имён (см. Language.Haskell.TH.Syntax, где объясняется захват имён):

  • для создания имён можно использовать встроенный синтаксис 'f и ''T. Выражение 'f задаёт Name, ссылающееся на значение f, находящееся в текущей области видимости, а ''T задаёт Name, ссылающееся на тип T, находящийся в текущей области видимости. Эти имена никогда не могут быть захвачены.
  • lookupValueName и lookupTypeName аналогичны соответственно 'f и ''T, но поиск Names выполняется в момент запуска текущей подстановки. Эти имена никогда не могут быть захвачены.
  • Монада newName генерирует новое имя, которое никогда не может быть захвачено.
  • mkName генерирует захватываемое имя.

Имена, созданные с помощью newName и mkName, можно использовать в связываниях (например, let x = ... или x -> ...), но имена, созданные с помощью lookupValueName, lookupTypeName, 'f, ''T, использовать нельзя.

Конструкторы

Name OccName NameFlavour
Экземпляры
Сведения об экземплярах
Ppr Name Источник
Сведения об экземпляре

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: Name -> Doc Источник

ppr_list :: [Name] -> Doc Источник

Eq Name Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Name -> Name -> Bool Источник

(/=) :: Name -> Name -> Bool Источник

Ord Name Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Name -> Name -> Ordering Источник

(<) :: Name -> Name -> Bool Источник

(<=) :: Name -> Name -> Bool Источник

(>) :: Name -> Name -> Bool Источник

(>=) :: Name -> Name -> Bool Источник

max :: Name -> Name -> Name Источник

min :: Name -> Name -> Name Источник

Data Name Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Name -> c Name Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Name Источник

toConstr :: Name -> Constr Источник

dataTypeOf :: Name -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Name) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Name) Источник

gmapT :: (forall b. Data b => b -> b) -> Name -> Name Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> Name -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> Name -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Name -> m Name Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name Источник

Generic Name Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep Name
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep Name = D1 ('MetaData "Name" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Name" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OccName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameFlavour)))

Методы

from :: Name -> Rep Name x Источник

to :: Rep Name x -> Name Источник

Show Name Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Name -> ShowS Источник

show :: Name -> String Источник

showList :: [Name] -> ShowS Источник

Lift Name Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Name -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Name -> Code m Name Источник

type Rep Name Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep Name = D1 ('MetaData "Name" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Name" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OccName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameFlavour)))

data FunDep Источник

Синтаксис функциональной зависимости, используемый в объявлении класса.

Конструкторы

FunDep [Name] [Name]
class C a b {| a -> b}
Экземпляры
Подробности экземпляров
Ppr FunDep Источник
Подробности экземпляра

Определено в GHC.Boot.TH.Ppr

Методы

ppr :: FunDep -> Doc Источник

ppr_list :: [FunDep] -> Doc Источник

Eq FunDep Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: FunDep -> FunDep -> Bool Источник

(/=) :: FunDep -> FunDep -> Bool Источник

Ord FunDep Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

compare :: FunDep -> FunDep -> Ordering Источник

(<) :: FunDep -> FunDep -> Bool Источник

(<=) :: FunDep -> FunDep -> Bool Источник

(>) :: FunDep -> FunDep -> Bool Источник

(>=) :: FunDep -> FunDep -> Bool Источник

max :: FunDep -> FunDep -> FunDep Источник

min :: FunDep -> FunDep -> FunDep Источник

Data FunDep Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FunDep -> c FunDep Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FunDep Источник

toConstr :: FunDep -> Constr Источник

dataTypeOf :: FunDep -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FunDep) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FunDep) Источник

gmapT :: (forall b. Data b => b -> b) -> FunDep -> FunDep Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FunDep -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FunDep -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> FunDep -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> FunDep -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FunDep -> m FunDep Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FunDep -> m FunDep Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FunDep -> m FunDep Источник

Generic FunDep Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Связанные типы

type Rep FunDep
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep FunDep = D1 ('MetaData "FunDep" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "FunDep" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])))

Методы

from :: FunDep -> Rep FunDep x Источник

to :: Rep FunDep x -> FunDep Источник

Show FunDep Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> FunDep -> ShowS Источник

show :: FunDep -> String Источник

showList :: [FunDep] -> ShowS Источник

Lift FunDep Источник

С версии: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => FunDep -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => FunDep -> Code m FunDep Источник

type Rep FunDep Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep FunDep = D1 ('MetaData "FunDep" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "FunDep" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])))

type Pred = Type Источник

Начиная с появления ConstraintKinds, ограничения на самом деле являются просто типами. В ограничениях равенства используется конструктор EqualityT. Ограничения также могут представлять собой кортежи других ограничений.

data RuleBndr Источник

Связыватель, встречающийся в forall прагмы RULES.

Конструкторы

RuleVar Name
forall {a} ... .
TypedRuleVar Name Type
forall {(a :: t)} ... .
Экземпляры
Подробности экземпляров
Ppr RuleBndr Источник
Подробности экземпляра

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: RuleBndr -> Doc Источник

ppr_list :: [RuleBndr] -> Doc Источник

Eq RuleBndr Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: RuleBndr -> RuleBndr -> Bool Источник

(/=) :: RuleBndr -> RuleBndr -> Bool Источник

Ord RuleBndr Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: RuleBndr -> RuleBndr -> Ordering Источник

(<) :: RuleBndr -> RuleBndr -> Bool Источник

(<=) :: RuleBndr -> RuleBndr -> Bool Источник

(>) :: RuleBndr -> RuleBndr -> Bool Источник

(>=) :: RuleBndr -> RuleBndr -> Bool Источник

max :: RuleBndr -> RuleBndr -> RuleBndr Источник

min :: RuleBndr -> RuleBndr -> RuleBndr Источник

Data RuleBndr Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RuleBndr -> c RuleBndr Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RuleBndr Источник

toConstr :: RuleBndr -> Constr Источник

dataTypeOf :: RuleBndr -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RuleBndr) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RuleBndr) Источник

gmapT :: (forall b. Data b => b -> b) -> RuleBndr -> RuleBndr Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RuleBndr -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RuleBndr -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> RuleBndr -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> RuleBndr -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RuleBndr -> m RuleBndr Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RuleBndr -> m RuleBndr Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RuleBndr -> m RuleBndr Источник

Generic RuleBndr Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep RuleBndr
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep RuleBndr = D1 ('MetaData "RuleBndr" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "RuleVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "TypedRuleVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))

Методы

from :: RuleBndr -> Rep RuleBndr x Источник

to :: Rep RuleBndr x -> RuleBndr Источник

Show RuleBndr Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> RuleBndr -> ShowS Источник

show :: RuleBndr -> String Источник

showList :: [RuleBndr] -> ShowS Источник

Lift RuleBndr Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => RuleBndr -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => RuleBndr -> Code m RuleBndr Источник

type Rep RuleBndr Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep RuleBndr = D1 ('MetaData "RuleBndr" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "RuleVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "TypedRuleVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))

data TySynEqn Источник

Одно уравнение экземпляра семейства типов или замкнутого семейства типов. Аргументы — тип в левой части и результат в правой части.

Например, если бы у вас было следующее семейство типов:

type family Foo (a :: k) :: k where
  forall k (a :: k). Foo @k a = a

Уравнение Foo @k a = a было бы представлено следующим образом:

TySynEqn (Just [PlainTV k, KindedTV a (VarT k)])
           (AppT (AppKindT (ConT ''Foo) (VarT k)) (VarT a))
           (VarT a)

Конструкторы

TySynEqn (Maybe [TyVarBndr ()]) Type Type
Экземпляры
Подробности экземпляров
Eq TySynEqn Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: TySynEqn -> TySynEqn -> Bool Источник

(/=) :: TySynEqn -> TySynEqn -> Bool Источник

Ord TySynEqn Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: TySynEqn -> TySynEqn -> Ordering Источник

(<) :: TySynEqn -> TySynEqn -> Bool Источник

(<=) :: TySynEqn -> TySynEqn -> Bool Источник

(>) :: TySynEqn -> TySynEqn -> Bool Источник

(>=) :: TySynEqn -> TySynEqn -> Bool Источник

max :: TySynEqn -> TySynEqn -> TySynEqn Источник

min :: TySynEqn -> TySynEqn -> TySynEqn Источник

Data TySynEqn Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TySynEqn -> c TySynEqn Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TySynEqn Источник

toConstr :: TySynEqn -> Constr Источник

dataTypeOf :: TySynEqn -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TySynEqn) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TySynEqn) Источник

gmapT :: (forall b. Data b => b -> b) -> TySynEqn -> TySynEqn Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TySynEqn -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TySynEqn -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> TySynEqn -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> TySynEqn -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TySynEqn -> m TySynEqn Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TySynEqn -> m TySynEqn Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TySynEqn -> m TySynEqn Источник

Generic TySynEqn Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep TySynEqn
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep TySynEqn = D1 ('MetaData "TySynEqn" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "TySynEqn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBndr ()])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))

Методы

from :: TySynEqn -> Rep TySynEqn x Источник

to :: Rep TySynEqn x -> TySynEqn Источник

Show TySynEqn Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> TySynEqn -> ShowS Источник

show :: TySynEqn -> String Источник

showList :: [TySynEqn] -> ShowS Источник

Lift TySynEqn Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => TySynEqn -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => TySynEqn -> Code m TySynEqn Источник

type Rep TySynEqn Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep TySynEqn = D1 ('MetaData "TySynEqn" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "TySynEqn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBndr ()])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))

data InjectivityAnn Источник

Аннотация инъективности, используемая в инъективном семействе типов

Конструкторы

InjectivityAnn Name [Name]
Экземпляры
Подробности экземпляров
Ppr InjectivityAnn Источник
Подробности экземпляра

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: InjectivityAnn -> Doc Источник

ppr_list :: [InjectivityAnn] -> Doc Источник

Eq InjectivityAnn Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: InjectivityAnn -> InjectivityAnn -> Bool Источник

(/=) :: InjectivityAnn -> InjectivityAnn -> Bool Источник

Ord InjectivityAnn Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: InjectivityAnn -> InjectivityAnn -> Ordering Источник

(<) :: InjectivityAnn -> InjectivityAnn -> Bool Источник

(<=) :: InjectivityAnn -> InjectivityAnn -> Bool Источник

(>) :: InjectivityAnn -> InjectivityAnn -> Bool Источник

(>=) :: InjectivityAnn -> InjectivityAnn -> Bool Источник

max :: InjectivityAnn -> InjectivityAnn -> InjectivityAnn Источник

min :: InjectivityAnn -> InjectivityAnn -> InjectivityAnn Источник

Data InjectivityAnn Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InjectivityAnn -> c InjectivityAnn Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InjectivityAnn Источник

toConstr :: InjectivityAnn -> Constr Источник

dataTypeOf :: InjectivityAnn -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c InjectivityAnn) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c InjectivityAnn) Источник

gmapT :: (forall b. Data b => b -> b) -> InjectivityAnn -> InjectivityAnn Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InjectivityAnn -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InjectivityAnn -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> InjectivityAnn -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> InjectivityAnn -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> InjectivityAnn -> m InjectivityAnn Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InjectivityAnn -> m InjectivityAnn Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InjectivityAnn -> m InjectivityAnn Источник

Generic InjectivityAnn Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep InjectivityAnn
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep InjectivityAnn = D1 ('MetaData "InjectivityAnn" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "InjectivityAnn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])))

Методы

from :: InjectivityAnn -> Rep InjectivityAnn x Источник

to :: Rep InjectivityAnn x -> InjectivityAnn Источник

Show InjectivityAnn Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> InjectivityAnn -> ShowS Источник

show :: InjectivityAnn -> String Источник

showList :: [InjectivityAnn] -> ShowS Источник

Lift InjectivityAnn Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => InjectivityAnn -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => InjectivityAnn -> Code m InjectivityAnn Источник

type Rep InjectivityAnn Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep InjectivityAnn = D1 ('MetaData "InjectivityAnn" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "InjectivityAnn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])))

type Kind = Type Источник

Чтобы избежать дублирования между видами и типами, они определены как одно и то же. Естественно, тип никогда не будет StarT, а вид никогда не будет SigT, однако многие другие конструкторы являются общими. Обратите внимание, что вид Bool обозначается как ConT, а не PromotedT. Аналогично, виды кортежей создаются с помощью TupleT, а не PromotedTupleT.

data Overlap Источник

Варианты допустимого перекрытия экземпляров.

Конструкторы

Overlappable

Может быть перекрыт более конкретными экземплярами

Overlapping

Может перекрывать более общий экземпляр

Overlaps

И Overlapping, и Overlappable

Incoherent

И Overlapping, и Overlappable; если доступно несколько вариантов, выбирается произвольный.

Экземпляры
Подробности экземпляров
Eq Overlap Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Overlap -> Overlap -> Bool Исходный код

(/=) :: Overlap -> Overlap -> Bool Исходный код

Ord Overlap Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Overlap -> Overlap -> Ordering Исходный код

(<) :: Overlap -> Overlap -> Bool Исходный код

(<=) :: Overlap -> Overlap -> Bool Исходный код

(>) :: Overlap -> Overlap -> Bool Исходный код

(>=) :: Overlap -> Overlap -> Bool Исходный код

max :: Overlap -> Overlap -> Overlap Исходный код

min :: Overlap -> Overlap -> Overlap Исходный код

Data Overlap Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Overlap -> c Overlap Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Overlap Исходный код

toConstr :: Overlap -> Constr Исходный код

dataTypeOf :: Overlap -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Overlap) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Overlap) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Overlap -> Overlap Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Overlap -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Overlap -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Overlap -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Overlap -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Overlap -> m Overlap Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Overlap -> m Overlap Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Overlap -> m Overlap Исходный код

Generic Overlap Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Ассоциированные типы

type Rep Overlap
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Overlap = D1 ('MetaData "Overlap" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "Overlappable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Overlapping" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Overlaps" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Incoherent" 'PrefixI 'False) (U1 :: Type -> Type)))

Методы

from :: Overlap -> Rep Overlap x Исходный код

to :: Rep Overlap x -> Overlap Исходный код

Show Overlap Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Overlap -> ShowS Исходный код

show :: Overlap -> String Исходный код

showList :: [Overlap] -> ShowS Исходный код

Lift Overlap Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Overlap -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Overlap -> Code m Overlap Исходный код

type Rep Overlap Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Overlap = D1 ('MetaData "Overlap" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "Overlappable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Overlapping" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Overlaps" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Incoherent" 'PrefixI 'False) (U1 :: Type -> Type)))

data DerivClause Исходный код

Одна deriving-директива в конце объявления типа данных.

Конструкторы

DerivClause (Maybe DerivStrategy) Cxt
{ deriving stock (Eq, Ord) }
Экземпляры
Подробности экземпляров
Eq DerivClause Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: DerivClause -> DerivClause -> Bool Источник

(/=) :: DerivClause -> DerivClause -> Bool Источник

Ord DerivClause Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: DerivClause -> DerivClause -> Ordering Источник

(<) :: DerivClause -> DerivClause -> Bool Источник

(<=) :: DerivClause -> DerivClause -> Bool Источник

(>) :: DerivClause -> DerivClause -> Bool Источник

(>=) :: DerivClause -> DerivClause -> Bool Источник

max :: DerivClause -> DerivClause -> DerivClause Источник

min :: DerivClause -> DerivClause -> DerivClause Источник

Data DerivClause Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DerivClause -> c DerivClause Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DerivClause Источник

toConstr :: DerivClause -> Constr Источник

dataTypeOf :: DerivClause -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DerivClause) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DerivClause) Источник

gmapT :: (forall b. Data b => b -> b) -> DerivClause -> DerivClause Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DerivClause -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DerivClause -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> DerivClause -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> DerivClause -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DerivClause -> m DerivClause Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DerivClause -> m DerivClause Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DerivClause -> m DerivClause Источник

Generic DerivClause Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep DerivClause
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep DerivClause = D1 ('MetaData "DerivClause" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "DerivClause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe DerivStrategy)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt)))

Методы

from :: DerivClause -> Rep DerivClause x Источник

to :: Rep DerivClause x -> DerivClause Источник

Show DerivClause Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> DerivClause -> ShowS Источник

show :: DerivClause -> String Источник

showList :: [DerivClause] -> ShowS Источник

Lift DerivClause Источник

Since: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => DerivClause -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => DerivClause -> Code m DerivClause Источник

type Rep DerivClause Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep DerivClause = D1 ('MetaData "DerivClause" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "DerivClause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe DerivStrategy)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt)))

data DerivStrategy Источник

Что пользователь явно запрашивает при выведении экземпляра с помощью -XDerivingStrategies.

Конструкторы

StockStrategy
deriving {stock} C
AnyclassStrategy

deriving {anyclass} C, -XDeriveAnyClass

NewtypeStrategy

deriving {newtype} C, -XGeneralizedNewtypeDeriving

ViaStrategy Type

deriving C {via T}, -XDerivingVia

Экземпляры
Подробная информация об экземплярах
Eq DerivStrategy Источник
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: DerivStrategy -> DerivStrategy -> Bool Источник

(/=) :: DerivStrategy -> DerivStrategy -> Bool Источник

Ord DerivStrategy Источник
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

compare :: DerivStrategy -> DerivStrategy -> Ordering Источник

(<) :: DerivStrategy -> DerivStrategy -> Bool Источник

(<=) :: DerivStrategy -> DerivStrategy -> Bool Источник

(>) :: DerivStrategy -> DerivStrategy -> Bool Источник

(>=) :: DerivStrategy -> DerivStrategy -> Bool Источник

max :: DerivStrategy -> DerivStrategy -> DerivStrategy Источник

min :: DerivStrategy -> DerivStrategy -> DerivStrategy Источник

Data DerivStrategy Источник
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DerivStrategy -> c DerivStrategy Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DerivStrategy Источник

toConstr :: DerivStrategy -> Constr Источник

dataTypeOf :: DerivStrategy -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DerivStrategy) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DerivStrategy) Источник

gmapT :: (forall b. Data b => b -> b) -> DerivStrategy -> DerivStrategy Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DerivStrategy -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DerivStrategy -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> DerivStrategy -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> DerivStrategy -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DerivStrategy -> m DerivStrategy Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DerivStrategy -> m DerivStrategy Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DerivStrategy -> m DerivStrategy Источник

Generic DerivStrategy Источник
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep DerivStrategy
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep DerivStrategy = D1 ('MetaData "DerivStrategy" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "StockStrategy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AnyclassStrategy" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "NewtypeStrategy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ViaStrategy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))

Методы

from :: DerivStrategy -> Rep DerivStrategy x Источник

to :: Rep DerivStrategy x -> DerivStrategy Источник

Show DerivStrategy Источник
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> DerivStrategy -> ShowS Источник

show :: DerivStrategy -> String Источник

showList :: [DerivStrategy] -> ShowS Источник

Lift DerivStrategy Источник

Начиная с: template-haskell-2.22.1.0

Подробная информация об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => DerivStrategy -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => DerivStrategy -> Code m DerivStrategy Источник

type Rep DerivStrategy Источник
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep DerivStrategy = D1 ('MetaData "DerivStrategy" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "StockStrategy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AnyclassStrategy" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "NewtypeStrategy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ViaStrategy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))

newtype Code (m :: Type -> Type) (a :: TYPE r) Источник

Представляет выражение типа a, построенное в монадическом контексте m. Типизированные выражения построены на основе TExp и позволяют выполнять безопасную с точки зрения типов подстановку с помощью:

  • типизированных кавычек, записываемых как [|| ... ||], где ... — выражение; если это выражение имеет тип a, то кавычка имеет тип Quote m => Code m a
  • типизированных подстановок внутри типизированных кавычек, записываемых как $$(...), где ... — произвольное выражение типа Quote m => Code m a

Традиционные кавычки и подстановки выражений позволяют создавать некорректно типизированные выражения:

>>> fmap ppr $ runQ (unTypeCode [| True == $( [| "foo" |] ) |])
GHC.Internal.Types.True GHC.Internal.Classes.== "foo"
>>> GHC.Internal.Types.True GHC.Internal.Classes.== "foo"
<interactive> error:
    • Couldn't match expected type ‘Bool’ with actual type ‘[Char]’
    • In the second argument of ‘(==)’, namely ‘"foo"’
      In the expression: True == "foo"
      In an equation for ‘it’: it = True == "foo"

Для типизированных выражений ошибка типов возникает при создании выражения Template Haskell:

>>> fmap ppr $ runQ (unTypeCode [|| True == $$( [|| "foo" ||] ) ||])
<interactive> error:
    • Couldn't match type ‘[Char]’ with ‘Bool’
      Expected type: Code Q Bool
        Actual type: Code Q [Char]
    • In the Template Haskell quotation [|| "foo" ||]
      In the expression: [|| "foo" ||]
      In the Template Haskell splice $$([|| "foo" ||])

Конструкторы

Code

Поля

  • examineCode :: m (TExp a)

    Базовое монади́ческое значение

newtype ModName Исходный код

Имя модуля.

Конструкторы

ModName String
Экземпляры
Подробности экземпляров
Eq ModName Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: ModName -> ModName -> Bool Исходный код

(/=) :: ModName -> ModName -> Bool Исходный код

Ord ModName Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: ModName -> ModName -> Ordering Исходный код

(<) :: ModName -> ModName -> Bool Исходный код

(<=) :: ModName -> ModName -> Bool Исходный код

(>) :: ModName -> ModName -> Bool Исходный код

(>=) :: ModName -> ModName -> Bool Исходный код

max :: ModName -> ModName -> ModName Исходный код

min :: ModName -> ModName -> ModName Исходный код

Data ModName Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ModName -> c ModName Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ModName Исходный код

toConstr :: ModName -> Constr Исходный код

dataTypeOf :: ModName -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ModName) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ModName) Исходный код

gmapT :: (forall b. Data b => b -> b) -> ModName -> ModName Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ModName -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ModName -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> ModName -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> ModName -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ModName -> m ModName Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ModName -> m ModName Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ModName -> m ModName Исходный код

Generic ModName Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep ModName
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep ModName = D1 ('MetaData "ModName" "GHC.Internal.TH.Syntax" "ghc-internal" 'True) (C1 ('MetaCons "ModName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Методы

from :: ModName -> Rep ModName x Исходный код

to :: Rep ModName x -> ModName Исходный код

Show ModName Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> ModName -> ShowS Исходный код

show :: ModName -> String Исходный код

showList :: [ModName] -> ShowS Исходный код

Lift ModName Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => ModName -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => ModName -> Code m ModName Исходный код

type Rep ModName Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep ModName = D1 ('MetaData "ModName" "GHC.Internal.TH.Syntax" "ghc-internal" 'True) (C1 ('MetaCons "ModName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

addCorePlugin :: String -> Q () Исходный код

Добавляет плагин ядра в конвейер компиляции.

addCorePlugin m имеет почти тот же эффект, что и передача -fplugin=m компилятору ghc в командной строке. Главное различие заключается в том, что модуль плагина m не должен принадлежать текущему пакету. Когда выполняется TH, уже слишком поздно сообщать компилятору, что сначала нужно скомпилировать модуль плагина из текущего пакета.

addDependentFile :: FilePath -> Q () Исходный код

Регистрирует внешние файлы, которые использует runIO (от которых он зависит). Тогда компилятор сможет определить, что Haskell-файл нужно перекомпилировать при изменении внешнего файла.

Ожидает абсолютный путь к файлу.

Примечания:

  • ghc -M не учитывает эти зависимости — он не выполняет TH.
  • Зависимость определяется по содержимому файла, а не по времени его изменения.

addForeignFile :: ForeignSrcLang -> String -> Q () Исходный код

Устарело: вместо этого используйте addForeignSource

addForeignFilePath :: ForeignSrcLang -> FilePath -> Q () Исходный код

То же, что и addForeignSource, но в качестве аргумента ожидает путь к внешнему файлу, а не String его содержимого. Рекомендуется использовать в сочетании с addTempFile.

Это хорошая альтернатива addForeignSource, если вы пытаетесь напрямую связать объектный файл.

addForeignSource :: ForeignSrcLang -> String -> Q () Исходный код

Создаёт внешний файл, который будет скомпилирован и скомпонован с объектным файлом текущего модуля. В настоящее время поддерживаются только языки, которые можно компилировать компилятором C; флаги, переданные с помощью -optc, также будут применяться при вызове компилятора C для их компиляции.

Обратите внимание: для языков, отличных от C (например, C++), необходимо использовать директивы extern C, чтобы получить символы, к которым можно обращаться из Haskell.

Чтобы сообщения об ошибках были информативнее, при создании файлов C рекомендуется использовать директивы #line, например:

{-# LANGUAGE CPP #-}
...
addForeignSource LangC $ unlines
  [ "#line " ++ show (865 + 1) ++ " " ++ show "libraries/ghc-internal/src/GHC/Internal/TH/Syntax.hs"
  , ...
  ]

addModFinalizer :: Q () -> Q () Исходный код

Добавляет финализатор, который будет выполнен в монаде Q после проверки типов текущего модуля. Это имеет смысл только при выполнении внутри сплайса верхнего уровня.

Финализатору передаётся локальное окружение типов в точке сплайса. Поэтому reify может находить локальные определения при выполнении внутри финализатора.

addTempFile :: String -> Q FilePath Исходный код

Возвращает путь к временному файлу с указанным суффиксом. Компилятор удалит этот файл после компиляции.

addTopDecls :: [Dec] -> Q () Исходный код

Добавляет дополнительные объявления верхнего уровня. Добавленные объявления будут проверены на типы вместе с текущей группой объявлений.

badIO :: String -> IO a Исходный код

bindCode :: Monad m => m a -> (a -> Code m b) -> Code m b Исходный код

Вариант (>>=), позволяющий внедрять вычисления с побочными эффектами в генерацию кода.

bindCode_ :: Monad m => m a -> Code m b -> Code m b Исходный код

Вариант (>>), позволяющий внедрять вычисления с побочными эффектами в генерацию кода.

cmpEq :: Ordering -> Bool Исходный код

Внутренняя вспомогательная функция.

compareBytes :: Bytes -> Bytes -> Ordering Исходный код

counter :: IORef Uniq Исходный код

defaultFixity :: Fixity Исходный код

Фикситет по умолчанию: infixl 9

eqBytes :: Bytes -> Bytes -> Bool Исходный код

extsEnabled :: Q [Extension] Исходный код

Возвращает список всех включённых языковых расширений.

getDoc :: DocLoc -> Q (Maybe String) Исходный код

Возвращает документацию Haddock для указанного места, если она существует. С её помощью можно читать документацию об элементах, определённых вне текущего модуля, при условии, что эти модули были скомпилированы с флагом -haddock.

getPackageRoot :: Q FilePath Исходный код

Возвращает корневой каталог текущего компилируемого пакета. Его можно явно задать с помощью флага -package-root, но обычно это просто текущий рабочий каталог.

Этот флаг нужен для того, чтобы предоставить обоснованный способ устранить предположение, что сплайсы будут выполняться в каталоге, где находится файл cabal. Такие проекты, как haskell-language-server, не могут и не меняют каталог при компиляции файлов, а вместо этого соответствующим образом задают флаг -package-root.

getQ :: Typeable a => Q (Maybe a) Исходный код

Получает состояние из монады Q. Обратите внимание, что состояние локально для модуля Haskell, в котором выполняется выражение Template Haskell.

get_cons_names :: Con -> [Name] Исходный код

Внутренняя вспомогательная функция.

hoistCode :: Monad m => (forall x. m x -> n x) -> Code m a -> Code n a Исходный код

Изменяет используемую при генерации кода окружающую монаду. Например, можно использовать hoistCode для обработки эффекта состояния: handleState :: Code (StateT Int Q) a -> Code Q a handleState = hoistCode (flip runState 0)

isExtEnabled :: Extension -> Q Bool Исходный код

Определяет, включено ли указанное языковое расширение в монаде Q.

isInstance :: Name -> [Type] -> Q Bool Исходный код

Пуст ли список экземпляров, возвращаемый reifyInstances?

Если вы не понимаете, почему экземпляр не виден, хотя он определён в том же модуле выше рассматриваемого сплайса, возможное объяснение см. в документации к newDeclarationGroup.

joinCode :: Monad m => m (Code m a) -> Code m a Исходный код

Полезный комбинатор для встраивания действий в монаде в Code myCode :: ... => Code m a myCode = joinCode $ do x <- someSideEffect return (makeCodeWith x)

liftCode :: forall a m. m (TExp a) -> Code m a Исходный код

Поднимает действие в монаде, создающее код, до типизированного представления Code

location :: Q Loc Исходный код

Место, в котором выполняется подстановка этого вычисления.

lookupName :: Bool -> String -> Q (Maybe Name) Исходный код

lookupTypeName :: String -> Q (Maybe Name) Исходный код

Ищет указанное имя в области видимости текущего сплайса (в пространстве имён типов). Подробнее см. в разделе Language.Haskell.TH.Syntax.

lookupValueName :: String -> Q (Maybe Name) Исходный код

Ищет указанное имя в области видимости текущего сплайса (в пространстве имён значений). Подробнее см. в разделе Language.Haskell.TH.Syntax.

manyName :: Name Исходный код

Синоним для 'Many из ghc-internal.

maxPrecedence :: Int Исходный код

Наивысший допустимый приоритет оператора для конструктора Fixity (ответ: 9)

memcmp :: Ptr a -> Ptr b -> CSize -> IO CInt Исходный код

mkNameG :: NameSpace -> String -> String -> String -> Name Исходный код

Используется для 'x и подобных имён, но недоступен программисту

mkNameU :: String -> Uniq -> Name Исходный код

Используется только внутри программы

mkOccName :: String -> OccName Исходный код

Умный конструктор для OccName

mkPkgName :: String -> PkgName Исходный код

Умный конструктор для PkgName

mk_tup_name :: Int -> NameSpace -> Bool -> Name Исходный код

mkName :: String -> Name Исходный код

Создаёт захватываемое имя. Вхождения таких имён разрешаются согласно правилам видимости Haskell в месте вхождения.

Например:

f = [| pi + $(varE (mkName "pi")) |]
...
g = let pi = 3 in $f

В этом случае g преобразуется в

g = Prelude.pi + 3

Обратите внимание, что mkName можно использовать с квалифицированными именами:

mkName "Prelude.pi"

Полезный комбинатор см. также в dyn. Приведённый выше пример можно переписать с помощью dyn следующим образом:

f = [| pi + $(dyn "pi") |]

mkNameG_v :: String -> String -> String -> Name Исходный код

mkNameG_d :: String -> String -> String -> Name Исходный код

mkNameG_tc :: String -> String -> String -> Name Исходный код

mkNameL :: String -> Uniq -> Name Исходный код

Используется только внутри программы

mkNameS :: String -> Name Исходный код

unTypeCode :: forall a m. Quote m => Code m a -> m Exp Исходный код

Извлекает нетипизированное представление из типизированного представления

mkModName :: String -> ModName Исходный код

Умный конструктор для ModName

unsafeCodeCoerce :: forall a m. Quote m => m Exp -> Code m a Исходный код

Небезопасно преобразует нетипизированное представление кода в типизированное представление кода.

mkNameQ :: String -> String -> Name Исходный код

Используется только внутри программы

mkNameG_fld Исходный код

Аргументы

:: String

пакет

-> String

модуль

-> String

родитель (первый конструктор родительского типа)

-> String

имя поля

-> Name

modString :: ModName -> String Исходный код

Селектор для ModName

nameBase :: Name -> String Исходный код

Имя без префикса модуля.

Примеры
Развернуть
>>> nameBase ''Data.Either.Either
"Either"
>>> nameBase (mkName "foo")
"foo"
>>> nameBase (mkName "Module.foo")
"foo"

nameModule :: Name -> Maybe String Исходный код

Префикс модуля имени, если он существует.

Примеры
Развернуть
>>> nameModule ''Data.Either.Either
Just "Data.Either"
>>> nameModule (mkName "foo")
Nothing
>>> nameModule (mkName "Module.foo")
Just "Module"

namePackage :: Name -> Maybe String Исходный код

Пакет имени, если он существует.

Примеры
Развернуть
>>> namePackage ''Data.Either.Either
Just "base"
>>> namePackage (mkName "foo")
Nothing
>>> namePackage (mkName "Module.foo")
Nothing

nameSpace :: Name -> Maybe NameSpace Исходный код

Возвращает, обозначает ли имя вхождение переменной верхнего уровня (VarName), конструктора данных (DataName), конструктора типа или класса типов (TcClsName). Если определить это нельзя, возвращает Nothing.

Примеры
Развернуть
>>> nameSpace 'Prelude.id
Just VarName
>>> nameSpace (mkName "id")
Nothing -- only works for top-level variable names
>>> nameSpace 'Data.Maybe.Just
Just DataName
>>> nameSpace ''Data.Maybe.Maybe
Just TcClsName
>>> nameSpace ''Data.Ord.Ord
Just TcClsName

newDeclarationGroup :: Q [Dec] Исходный код

Template Haskell может получать сведения о типах и термах, определённых в предыдущих группах объявлений. Сплайсы объявлений верхнего уровня разделяют группы объявлений.

Рассмотрим этот фрагмент кода. Мы определяем тип данных X, а затем пытаемся вызвать reify для этого типа данных.

module Check where

data X = X
    deriving Eq

$(do
    info <- reify ''X
    runIO $ print info
 )

Этот код не компилируется: X недоступен для реификации в месте reify. Это можно исправить, создав новую группу объявлений с помощью пустого сплайса верхнего уровня:

data X = X
    deriving Eq

$(pure [])

$(do
    info <- reify ''X
    runIO $ print info
 )

Мы предоставляем newDeclarationGroup для документирования такого поведения и обозначения этого шаблона.

Поскольку сплайсы верхнего уровня подразумевают наличие скобок $( ... ), можно также написать:

data X = X
    deriving Eq

newDeclarationGroup

$(do
    info <- reify ''X
    runIO $ print info
 )

newNameIO :: String -> IO Name Исходный код

occString :: OccName -> String Исходный код

Селектор для OccName

oneName :: Name Исходный код

Синоним для 'One из ghc-internal.

pkgString :: PkgName -> String Исходный код

Селектор для PkgName

putDoc :: DocLoc -> String -> Q () Исходный код

Добавляет документацию Haddock в указанное место. Если в этом месте уже есть документация, она будет заменена. Для этого будет выполнено reify указанного имени, поэтому оно должно находиться в области видимости при вызове функции. Если вы хотите добавить документацию к объекту, который в данный момент подвергается сплайсингу, можно использовать addModFinalizer, например:

do
  let nm = mkName "x"
  addModFinalizer $ putDoc (DeclDoc nm) "Hello"
  [d| $(varP nm) = 42 |]

Вспомогательные функции withDecDoc и withDecsDoc сделают это за вас, как и комбинаторы funD_doc и другие _doc. При их использовании, скорее всего, следует включить флаг -haddock. Добавление документации к чему-либо за пределами текущего модуля вызовет ошибку.

putQ :: Typeable a => a -> Q () Исходный код

Заменяет состояние в монаде Q. Обратите внимание, что состояние локально для модуля Haskell, в котором выполняется выражение Template Haskell.

recover Исходный код

Аргументы

:: Q a

обработчик, вызываемый в случае сбоя

-> Q a

вычисление для выполнения

-> Q a

Позволяет восстановиться после ошибок, вызванных reportError или fail.

reify :: Name -> Q Info Исходный код

reify ищет информацию о Name. Если Name не видимо, произойдёт ошибка компиляции. Name считается видимым, если оно импортировано или определено в предшествующей группе объявлений верхнего уровня. Подробнее см. документацию по newDeclarationGroup.

Иногда полезно создать имя аргумента с помощью lookupTypeName или lookupValueName, чтобы гарантировать, что reify выполняется в правильном пространстве имён. Например, в следующем контексте:

data D = D

о каком D функция reify (mkName "D") возвращает информацию? (Ответ: D-типе, но не полагайтесь на это.) Чтобы получить информацию о D-значении, используйте lookupValueName:

do
  Just nm <- lookupValueName "D"
  reify nm

а чтобы получить информацию о D-типе, используйте lookupTypeName.

reifyAnnotations :: Data a => AnnLookup -> Q [a] Исходный код

reifyAnnotations target возвращает список аннотаций, связанных с target. Возвращаются только аннотации подходящего типа. Поэтому, если для одной цели имеются аннотации Int и String, эту функцию нужно вызвать дважды.

reifyConStrictness :: Name -> Q [DecidedStrictness] Исходный код

reifyConStrictness nm ищет информацию о строгости полей конструктора с именем nm. Обратите внимание, что информация о строгости, возвращаемая reifyConStrictness, может не соответствовать тому, что указано в исходном коде. Например, в следующем объявлении данных:

data Pair a = Pair a a

в большинстве случаев reifyConStrictness вернёт [DecidedLazy, DecidedLazy], но вернёт [DecidedStrict, DecidedStrict], если включено языковое расширение -XStrictData.

reifyFixity :: Name -> Q (Maybe Fixity) Исходный код

reifyFixity nm пытается найти объявление fixity для nm. Например, если для функции foo задано объявление fixity infixr 7 foo, то reifyFixity 'foo вернёт Just (Fixity 7 InfixR). Если для функции bar объявление fixity не задано, reifyFixity 'bar вернёт Nothing, поэтому можно считать, что bar имеет defaultFixity.

reifyInstances :: Name -> [Type] -> Q [InstanceDec] Исходный код

reifyInstances nm tys возвращает список всех видимых экземпляров (значение термина «видимые» см. ниже) nm tys. То есть если nm — имя класса типов, возвращаются все экземпляры этого класса для типов tys. Если же nm — имя семейства данных или семейства типов, возвращаются все экземпляры этого семейства для типов tys.

Обратите внимание, что это «поверхностная» проверка: возвращаемые объявления имеют лишь заголовки экземпляров, унифицируемые с nm tys; при этом они не обязательно выполнимы.

  • reifyInstances ''Eq [ TupleT 2 `AppT` ConT ''A `AppT` ConT ''B ] содержит instance (Eq a, Eq b) => Eq (a, b) независимо от того, реализуют ли сами A и B интерфейс Eq
  • reifyInstances ''Show [ VarT (mkName "a") ] возвращает каждый доступный экземпляр Show

Есть один особый случай: reifyInstances ''Typeable tys всегда возвращает пустой список (независимо от того, какие tys переданы).

В принципе, *видимые* экземпляры — это * все экземпляры, определённые в предшествующей группе объявлений верхнего уровня (см. документацию по newDeclarationGroup), или * все экземпляры, определённые в любом модуле, транзитивно импортированном компилируемым модулем

Однако поиск во всех модулях, транзитивно расположенных ниже компилируемого модуля, обходится неоправданно дорого, поэтому reifyInstances сообщает только об экземплярах из модулей, которые GHC по какой-либо причине посещал во время этой компиляции. Это ограничение: reifyInstances может не сообщить об экземплярах для типа, который иначе не используется, или об экземплярах, определённых в другом компоненте. Обойти это ограничение можно, явно импортировав модули, экземпляры из которых должны быть видимыми. В задаче GHC #20529 это обсуждается подробнее.

reifyModule :: Module -> Q ModuleInfo Исходный код

reifyModule mod ищет информацию о модуле mod. Чтобы найти информацию о текущем модуле, вызовите эту функцию, передав ей значение, возвращённое thisModule.

reifyRoles :: Name -> Q [Role] Исходный код

reifyRoles nm возвращает список ролей, связанных с параметрами (видимыми и невидимыми) типового конструктора nm. Завершается с ошибкой, если nm не найден или не является типовым конструктором. Возвращаемый список никогда не должен содержать InferR.

Невидимый параметр типового конструктора часто является параметром kind. Например, если у нас есть

type Proxy :: forall k. k -> Type
data Proxy a = MkProxy

и reifyRoles Proxy, мы получим [NominalR, PhantomR]. NominalR — это роль невидимого параметра k. Параметры kind всегда номинальные.

reifyType :: Name -> Q Type Исходный код

reifyType nm пытается найти тип или kind для nm. Например, reifyType 'not возвращает Bool -> Bool, а reifyType ''Bool возвращает Type. Это работает, даже если явная сигнатура отсутствует и тип или kind выведен.

report :: Bool -> String -> Q () Исходный код

Устарело: используйте reportError или reportWarning

Сообщает об ошибке (True) или предупреждении (False), но продолжает выполнение; чтобы остановить его, используйте fail.

reportError :: String -> Q () Исходный код

Сообщает пользователю об ошибке, но позволяет продолжить вычисление текущего сплайса. Чтобы прервать вычисление, используйте fail.

reportWarning :: String -> Q () Исходный код

Сообщает пользователю о предупреждении и продолжает выполнение.

runIO :: IO a -> Q a Исходный код

Функция runIO позволяет выполнять вычисление ввода-вывода в монаде Q. Будьте осторожны: порядок вызовов runIO в рамках одного вычисления Q гарантирован, но порядок выполнения сплайсов не гарантируется.

Примечание: по разным не вполне ясным причинам потоки stdout и stderr не всегда сбрасываются после завершения работы компилятора, поэтому сбрасывайте их самостоятельно.

sequenceQ :: Monad m => forall a. [m a] -> m [a] Исходный код

Эта функция используется только в Quote при устранении сахара в скобочных конструкциях. Пользователю она не нужна: можно использовать обычные операции return и (>>=).

runQ :: Quasi m => Q a -> m a Исходный код

«Запускает» монаду Q. Обычным пользователям Template Haskell эта функция не нужна, поскольку скобки сплайса $( ... ) обычно используются для запуска вычисления Q.

Эта функция в основном используется во внутренних механизмах GHC и для отладки сплайсов путём их запуска в IO.

Обратите внимание, что многие функции в Q, например reify и другие запросы компилятора, не поддерживаются при запуске Q в IO; такие операции просто завершаются с ошибкой во время выполнения. Фактически гарантированно успешно выполняются только операции newName, runIO, reportError и reportWarning.

showName :: Name -> String Исходный код

showName' :: NameIs -> Name -> String Исходный код

thenCmp :: Ordering -> Ordering -> Ordering Исходный код

Внутренняя вспомогательная функция.

tupleDataName :: Int -> Name Исходный код

Конструктор данных кортежа

tupleTypeName :: Int -> Name Исходный код

Конструктор типа кортежа

unTypeQ :: forall a m. Quote m => m (TExp a) -> m Exp Исходный код

Удаляет аннотацию типа и создаёт обычное выражение Template Haskell

Полиморфная по представлению с версии template-haskell-2.16.0.0.

unboxedSumDataName :: SumAlt -> SumArity -> Name Исходный код

Конструктор данных неупакованной суммы

unboxedSumTypeName :: SumArity -> Name Исходный код

Конструктор типа неупакованной суммы

unboxedTupleDataName :: Int -> Name Исходный код

Конструктор данных неупакованного кортежа

unboxedTupleTypeName :: Int -> Name Исходный код

Конструктор типа неупакованного кортежа

unsafeTExpCoerce :: forall a m. Quote m => m Exp -> m (TExp a) Исходный код

Аннотирует выражение Template Haskell типом

Это небезопасно, поскольку GHC не может проверить, действительно ли выражение имеет указанный вами тип.

Полиморфная по представлению с версии template-haskell-2.16.0.0.

data ForeignSrcLang Исходный код

Форматы внешнего кода, поддерживаемые GHC через TH

Конструкторы

LangC

C

LangCxx

C++

LangObjc

Objective-C

LangObjcxx

Objective-C++

LangAsm

Язык ассемблера (.s)

LangJs

JavaScript

RawObject

Объектный файл (.o)

Экземпляры
Сведения об экземплярах
Eq ForeignSrcLang Исходный код
Сведения об экземпляре

Определено в GHC.Internal.ForeignSrcLang

Методы

(==) :: ForeignSrcLang -> ForeignSrcLang -> Bool Исходный код

(/=) :: ForeignSrcLang -> ForeignSrcLang -> Bool Исходный код

Generic ForeignSrcLang Исходный код
Сведения об экземпляре

Определено в GHC.Internal.ForeignSrcLang

Связанные типы

type Rep ForeignSrcLang
Сведения об экземпляре

Определено в GHC.Internal.ForeignSrcLang

type Rep ForeignSrcLang = D1 ('MetaData "ForeignSrcLang" "GHC.Internal.ForeignSrcLang" "ghc-internal" 'False) ((C1 ('MetaCons "LangC" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LangCxx" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LangObjc" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "LangObjcxx" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LangAsm" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LangJs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RawObject" 'PrefixI 'False) (U1 :: Type -> Type))))

Методы

from :: ForeignSrcLang -> Rep ForeignSrcLang x Исходный код

to :: Rep ForeignSrcLang x -> ForeignSrcLang Исходный код

Show ForeignSrcLang Исходный код
Сведения об экземпляре

Определено в GHC.Internal.ForeignSrcLang

Методы

showsPrec :: Int -> ForeignSrcLang -> ShowS Исходный код

show :: ForeignSrcLang -> String Исходный код

showList :: [ForeignSrcLang] -> ShowS Исходный код

Lift ForeignSrcLang Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => ForeignSrcLang -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => ForeignSrcLang -> Code m ForeignSrcLang Исходный код

type Rep ForeignSrcLang Исходный код
Сведения об экземпляре

Определено в GHC.Internal.ForeignSrcLang

type Rep ForeignSrcLang = D1 ('MetaData "ForeignSrcLang" "GHC.Internal.ForeignSrcLang" "ghc-internal" 'False) ((C1 ('MetaCons "LangC" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LangCxx" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LangObjc" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "LangObjcxx" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LangAsm" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LangJs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RawObject" 'PrefixI 'False) (U1 :: Type -> Type))))

data Extension Исходный код

Расширения языка, известные GHC.

Обратите внимание, что для этого типа существует осиротевший Binary экземпляр, предоставляемый модулем GHC.LanguageExtensions, который входит в состав ghc-boot. Мы не можем предоставить его здесь, поскольку для этого потребовалось бы добавить транзитивные зависимости в пакет template-haskell, набор зависимостей которого должен быть минимальным.

Конструкторы

Cpp
OverlappingInstances
UndecidableInstances
IncoherentInstances
UndecidableSuperClasses
MonomorphismRestriction
MonoLocalBinds
DeepSubsumption
RelaxedPolyRec
ExtendedDefaultRules
NamedDefaults
ForeignFunctionInterface
UnliftedFFITypes
InterruptibleFFI
CApiFFI
GHCForeignImportPrim
JavaScriptFFI
ParallelArrays
Arrows
TemplateHaskell
TemplateHaskellQuotes
QualifiedDo
QuasiQuotes
ImplicitParams
ImplicitPrelude
ScopedTypeVariables
AllowAmbiguousTypes
UnboxedTuples
UnboxedSums
UnliftedNewtypes
UnliftedDatatypes
BangPatterns
TypeFamilies
TypeFamilyDependencies
TypeInType
OverloadedStrings
OverloadedLists
NumDecimals
DisambiguateRecordFields
RecordWildCards
NamedFieldPuns
ViewPatterns
OrPatterns
GADTs
GADTSyntax
NPlusKPatterns
DoAndIfThenElse
BlockArguments
RebindableSyntax
ConstraintKinds
PolyKinds
DataKinds
TypeData
InstanceSigs
ApplicativeDo
LinearTypes
RequiredTypeArguments
StandaloneDeriving
DeriveDataTypeable
AutoDeriveTypeable
DeriveFunctor
DeriveTraversable
DeriveFoldable
DeriveGeneric
DefaultSignatures
DeriveAnyClass
DeriveLift
DerivingStrategies
DerivingVia
TypeSynonymInstances
FlexibleContexts
FlexibleInstances
ConstrainedClassMethods
MultiParamTypeClasses
NullaryTypeClasses
FunctionalDependencies
UnicodeSyntax
ExistentialQuantification
MagicHash
EmptyDataDecls
KindSignatures
RoleAnnotations
ParallelListComp
TransformListComp
MonadComprehensions
GeneralizedNewtypeDeriving
RecursiveDo
PostfixOperators
TupleSections
PatternGuards
LiberalTypeSynonyms
RankNTypes
ImpredicativeTypes
TypeOperators
ExplicitNamespaces
PackageImports
ExplicitForAll
AlternativeLayoutRule
AlternativeLayoutRuleTransitional
DatatypeContexts
NondecreasingIndentation
RelaxedLayout
TraditionalRecordSyntax
LambdaCase
MultiWayIf
BinaryLiterals
NegativeLiterals
HexFloatLiterals
DuplicateRecordFields
OverloadedLabels
EmptyCase
PatternSynonyms
PartialTypeSignatures
NamedWildCards
StaticPointers
TypeApplications
Strict
StrictData
EmptyDataDeriving
NumericUnderscores
QuantifiedConstraints
StarIsType
ImportQualifiedPost
CUSKs
StandaloneKindSignatures
LexicalNegation
FieldSelectors
OverloadedRecordDot
OverloadedRecordUpdate
TypeAbstractions
ExtendedLiterals
ListTuplePuns
MultilineStrings
ExplicitLevelImports
ImplicitStagePersistence
Экземпляры
Подробная информация об экземплярах
Eq Extension Источник
Подробная информация об экземпляре

Определено в GHC.Internal.LanguageExtensions

Методы

(==) :: Extension -> Extension -> Bool Источник

(/=) :: Extension -> Extension -> Bool Источник

Ord Extension Источник
Подробная информация об экземпляре

Определено в GHC.Internal.LanguageExtensions

Методы

compare :: Extension -> Extension -> Ordering Источник

(<) :: Extension -> Extension -> Bool Источник

(<=) :: Extension -> Extension -> Bool Источник

(>) :: Extension -> Extension -> Bool Источник

(>=) :: Extension -> Extension -> Bool Источник

max :: Extension -> Extension -> Extension Источник

min :: Extension -> Extension -> Extension Источник

Bounded Extension Источник
Подробная информация об экземпляре

Определено в GHC.Internal.LanguageExtensions

Методы

minBound :: Extension Источник

maxBound :: Extension Источник

Enum Extension Источник
Подробная информация об экземпляре

Определено в GHC.Internal.LanguageExtensions

Методы

succ :: Extension -> Extension Источник

pred :: Extension -> Extension Источник

toEnum :: Int -> Extension Источник

fromEnum :: Extension -> Int Источник

enumFrom :: Extension -> [Extension] Источник

enumFromThen :: Extension -> Extension -> [Extension] Источник

enumFromTo :: Extension -> Extension -> [Extension] Источник

enumFromThenTo :: Extension -> Extension -> Extension -> [Extension] Источник

Generic Extension Источник
Подробная информация об экземпляре

Определено в GHC.Internal.LanguageExtensions

Ассоциированные типы

type Rep Extension
Подробная информация об экземпляре

Определено в GHC.Internal.LanguageExtensions

type Rep Extension = D1 ('MetaData "Extension" "GHC.Internal.LanguageExtensions" "ghc-internal" 'False) (((((((C1 ('MetaCons "Cpp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OverlappingInstances" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "UndecidableInstances" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IncoherentInstances" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "UndecidableSuperClasses" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MonomorphismRestriction" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MonoLocalBinds" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DeepSubsumption" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "RelaxedPolyRec" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExtendedDefaultRules" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "NamedDefaults" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ForeignFunctionInterface" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "UnliftedFFITypes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InterruptibleFFI" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CApiFFI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GHCForeignImportPrim" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: ((((C1 ('MetaCons "JavaScriptFFI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ParallelArrays" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Arrows" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TemplateHaskell" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "TemplateHaskellQuotes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "QualifiedDo" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "QuasiQuotes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ImplicitParams" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "ImplicitPrelude" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ScopedTypeVariables" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AllowAmbiguousTypes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnboxedTuples" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "UnboxedSums" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnliftedNewtypes" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "UnliftedDatatypes" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BangPatterns" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TypeFamilies" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "TypeFamilyDependencies" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TypeInType" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OverloadedStrings" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OverloadedLists" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "NumDecimals" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DisambiguateRecordFields" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RecordWildCards" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NamedFieldPuns" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "ViewPatterns" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OrPatterns" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GADTs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GADTSyntax" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "NPlusKPatterns" 'PrefixI 'False) (
U1 :: Type -> Type) :+: C1 ('MetaCons "DoAndIfThenElse" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BlockArguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RebindableSyntax" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ConstraintKinds" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "PolyKinds" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DataKinds" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TypeData" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InstanceSigs" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ApplicativeDo" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LinearTypes" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RequiredTypeArguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StandaloneDeriving" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "DeriveDataTypeable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AutoDeriveTypeable" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DeriveFunctor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DeriveTraversable" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "DeriveFoldable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DeriveGeneric" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DefaultSignatures" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DeriveAnyClass" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DeriveLift" 'PrefixI 'False) (U1 :: Type -> Type)))))))) :+: ((((((C1 ('MetaCons "DerivingStrategies" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DerivingVia" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TypeSynonymInstances" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FlexibleContexts" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "FlexibleInstances" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ConstrainedClassMethods" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MultiParamTypeClasses" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NullaryTypeClasses" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "FunctionalDependencies" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnicodeSyntax" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ExistentialQuantification" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MagicHash" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "EmptyDataDecls" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KindSignatures" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RoleAnnotations" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ParallelListComp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TransformListComp" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "MonadComprehensions" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GeneralizedNewtypeDeriving" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RecursiveDo" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PostfixOperators" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "TupleSections" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PatternGuards" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LiberalTypeSynonyms" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RankNTypes" 'PrefixI 'False) (U1 :: Type ->
Type)))) :+: (((C1 ('MetaCons "ImpredicativeTypes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TypeOperators" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ExplicitNamespaces" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PackageImports" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ExplicitForAll" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AlternativeLayoutRule" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AlternativeLayoutRuleTransitional" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DatatypeContexts" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NondecreasingIndentation" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "RelaxedLayout" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TraditionalRecordSyntax" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LambdaCase" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MultiWayIf" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BinaryLiterals" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NegativeLiterals" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "HexFloatLiterals" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DuplicateRecordFields" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "OverloadedLabels" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EmptyCase" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "PatternSynonyms" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PartialTypeSignatures" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "NamedWildCards" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StaticPointers" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TypeApplications" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Strict" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StrictData" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "EmptyDataDeriving" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NumericUnderscores" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "QuantifiedConstraints" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StarIsType" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ImportQualifiedPost" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CUSKs" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "StandaloneKindSignatures" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LexicalNegation" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "FieldSelectors" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OverloadedRecordDot" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OverloadedRecordUpdate" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TypeAbstractions" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ExtendedLiterals" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ListTuplePuns" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MultilineStrings" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ExplicitLevelImports" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ImplicitStagePersistence" 'PrefixI 'False) (U1 :: Type -> Type)))))))))

Методы

from :: Extension -> Rep Extension x Source

to :: Rep Extension x -> Extension Source

Show Extension Source
Подробности экземпляра

Определено в GHC.Internal.LanguageExtensions

Методы

showsPrec :: Int -> Extension -> ShowS Источник

show :: Extension -> String Источник

showList :: [Extension] -> ShowS Источник

Lift Extension Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Extension -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Extension -> Code m Extension Источник

type Rep Extension Источник
Подробности экземпляра

Определено в GHC.Internal.LanguageExtensions

type Rep Extension = D1 ('MetaData "Extension" "GHC.Internal.LanguageExtensions" "ghc-internal" 'False) (((((((C1 ('MetaCons "Cpp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OverlappingInstances" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "UndecidableInstances" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IncoherentInstances" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "UndecidableSuperClasses" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MonomorphismRestriction" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MonoLocalBinds" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DeepSubsumption" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "RelaxedPolyRec" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExtendedDefaultRules" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "NamedDefaults" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ForeignFunctionInterface" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "UnliftedFFITypes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InterruptibleFFI" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CApiFFI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GHCForeignImportPrim" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: ((((C1 ('MetaCons "JavaScriptFFI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ParallelArrays" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Arrows" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TemplateHaskell" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "TemplateHaskellQuotes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "QualifiedDo" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "QuasiQuotes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ImplicitParams" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "ImplicitPrelude" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ScopedTypeVariables" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AllowAmbiguousTypes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnboxedTuples" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "UnboxedSums" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnliftedNewtypes" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "UnliftedDatatypes" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BangPatterns" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TypeFamilies" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "TypeFamilyDependencies" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TypeInType" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OverloadedStrings" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OverloadedLists" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "NumDecimals" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DisambiguateRecordFields" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RecordWildCards" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NamedFieldPuns" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "ViewPatterns" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OrPatterns" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GADTs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GADTSyntax" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "NPlusKPatterns" 'PrefixI 'False) (U1 :: Type ->
Type) :+: C1 ('MetaCons "DoAndIfThenElse" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BlockArguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RebindableSyntax" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ConstraintKinds" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "PolyKinds" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DataKinds" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TypeData" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InstanceSigs" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ApplicativeDo" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LinearTypes" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RequiredTypeArguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StandaloneDeriving" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "DeriveDataTypeable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AutoDeriveTypeable" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DeriveFunctor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DeriveTraversable" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "DeriveFoldable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DeriveGeneric" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DefaultSignatures" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DeriveAnyClass" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DeriveLift" 'PrefixI 'False) (U1 :: Type -> Type)))))))) :+: ((((((C1 ('MetaCons "DerivingStrategies" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DerivingVia" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TypeSynonymInstances" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FlexibleContexts" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "FlexibleInstances" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ConstrainedClassMethods" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MultiParamTypeClasses" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NullaryTypeClasses" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "FunctionalDependencies" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnicodeSyntax" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ExistentialQuantification" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MagicHash" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "EmptyDataDecls" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KindSignatures" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RoleAnnotations" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ParallelListComp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TransformListComp" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "MonadComprehensions" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GeneralizedNewtypeDeriving" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RecursiveDo" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PostfixOperators" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "TupleSections" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PatternGuards" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LiberalTypeSynonyms" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RankNTypes" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons
"ImpredicativeTypes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TypeOperators" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ExplicitNamespaces" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PackageImports" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ExplicitForAll" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AlternativeLayoutRule" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AlternativeLayoutRuleTransitional" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DatatypeContexts" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NondecreasingIndentation" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "RelaxedLayout" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TraditionalRecordSyntax" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LambdaCase" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MultiWayIf" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BinaryLiterals" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NegativeLiterals" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "HexFloatLiterals" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DuplicateRecordFields" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "OverloadedLabels" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EmptyCase" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "PatternSynonyms" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PartialTypeSignatures" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "NamedWildCards" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StaticPointers" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TypeApplications" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Strict" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StrictData" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "EmptyDataDeriving" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NumericUnderscores" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "QuantifiedConstraints" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StarIsType" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ImportQualifiedPost" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CUSKs" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "StandaloneKindSignatures" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LexicalNegation" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "FieldSelectors" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OverloadedRecordDot" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OverloadedRecordUpdate" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TypeAbstractions" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ExtendedLiterals" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ListTuplePuns" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MultilineStrings" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ExplicitLevelImports" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ImplicitStagePersistence" 'PrefixI 'False) (U1 :: Type -> Type)))))))))

data AnnLookup Источник

Цель аннотации для reifyAnnotations

Конструкторы

AnnLookupModule Module
AnnLookupName Name
Экземпляры
Подробности экземпляров
Eq AnnLookup Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: AnnLookup -> AnnLookup -> Bool Источник

(/=) :: AnnLookup -> AnnLookup -> Bool Источник

Ord AnnLookup Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

compare :: AnnLookup -> AnnLookup -> Ordering Источник

(<) :: AnnLookup -> AnnLookup -> Bool Источник

(<=) :: AnnLookup -> AnnLookup -> Bool Источник

(>) :: AnnLookup -> AnnLookup -> Bool Источник

(>=) :: AnnLookup -> AnnLookup -> Bool Источник

max :: AnnLookup -> AnnLookup -> AnnLookup Источник

min :: AnnLookup -> AnnLookup -> AnnLookup Источник

Data AnnLookup Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AnnLookup -> c AnnLookup Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AnnLookup Источник

toConstr :: AnnLookup -> Constr Источник

dataTypeOf :: AnnLookup -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AnnLookup) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AnnLookup) Источник

gmapT :: (forall b. Data b => b -> b) -> AnnLookup -> AnnLookup Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AnnLookup -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AnnLookup -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> AnnLookup -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> AnnLookup -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AnnLookup -> m AnnLookup Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AnnLookup -> m AnnLookup Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AnnLookup -> m AnnLookup Источник

Generic AnnLookup Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Связанные типы

type Rep AnnLookup
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep AnnLookup = D1 ('MetaData "AnnLookup" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "AnnLookupModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Module)) :+: C1 ('MetaCons "AnnLookupName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))

Методы

from :: AnnLookup -> Rep AnnLookup x Источник

to :: Rep AnnLookup x -> AnnLookup Источник

Show AnnLookup Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> AnnLookup -> ShowS Источник

show :: AnnLookup -> String Источник

showList :: [AnnLookup] -> ShowS Источник

Lift AnnLookup Источник

С версии: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => AnnLookup -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => AnnLookup -> Code m AnnLookup Источник

type Rep AnnLookup Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep AnnLookup = D1 ('MetaData "AnnLookup" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "AnnLookupModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Module)) :+: C1 ('MetaCons "AnnLookupName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))

data AnnTarget Источник

Цель прагмы ANN

Конструкторы

ModuleAnnotation
{-# ANN {module} ... #-}
TypeAnnotation Name
{-# ANN type {name} ... #-}
ValueAnnotation Name
{-# ANN {name} ... #-}
Экземпляры
Подробности экземпляров
Eq AnnTarget Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: AnnTarget -> AnnTarget -> Bool Источник

(/=) :: AnnTarget -> AnnTarget -> Bool Источник

Ord AnnTarget Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

compare :: AnnTarget -> AnnTarget -> Ordering Источник

(<) :: AnnTarget -> AnnTarget -> Bool Источник

(<=) :: AnnTarget -> AnnTarget -> Bool Источник

(>) :: AnnTarget -> AnnTarget -> Bool Источник

(>=) :: AnnTarget -> AnnTarget -> Bool Источник

max :: AnnTarget -> AnnTarget -> AnnTarget Источник

min :: AnnTarget -> AnnTarget -> AnnTarget Источник

Data AnnTarget Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AnnTarget -> c AnnTarget Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AnnTarget Источник

toConstr :: AnnTarget -> Constr Источник

dataTypeOf :: AnnTarget -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AnnTarget) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AnnTarget) Источник

gmapT :: (forall b. Data b => b -> b) -> AnnTarget -> AnnTarget Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AnnTarget -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AnnTarget -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> AnnTarget -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> AnnTarget -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AnnTarget -> m AnnTarget Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AnnTarget -> m AnnTarget Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AnnTarget -> m AnnTarget Источник

Generic AnnTarget Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Ассоциированные типы

type Rep AnnTarget
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep AnnTarget = D1 ('MetaData "AnnTarget" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "ModuleAnnotation" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TypeAnnotation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "ValueAnnotation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))))

Методы

from :: AnnTarget -> Rep AnnTarget x Источник

to :: Rep AnnTarget x -> AnnTarget Источник

Show AnnTarget Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> AnnTarget -> ShowS Источник

show :: AnnTarget -> String Источник

showList :: [AnnTarget] -> ShowS Источник

Lift AnnTarget Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => AnnTarget -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => AnnTarget -> Code m AnnTarget Источник

type Rep AnnTarget Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep AnnTarget = D1 ('MetaData "AnnTarget" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "ModuleAnnotation" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TypeAnnotation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "ValueAnnotation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))))

type Arity = Int Источник

В PrimTyConI — арность конструктора типа

data Bang Источник

Информация о строгости аргумента конструктора данных.

Конструкторы

Bang SourceUnpackedness SourceStrictness
C { {-# UNPACK #-} !}a
Экземпляры
Сведения об экземплярах
Ppr Bang Источник
Сведения об экземпляре

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: Bang -> Doc Источник

ppr_list :: [Bang] -> Doc Источник

Eq Bang Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Bang -> Bang -> Bool Источник

(/=) :: Bang -> Bang -> Bool Источник

Ord Bang Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Bang -> Bang -> Ordering Источник

(<) :: Bang -> Bang -> Bool Источник

(<=) :: Bang -> Bang -> Bool Источник

(>) :: Bang -> Bang -> Bool Источник

(>=) :: Bang -> Bang -> Bool Источник

max :: Bang -> Bang Bang Источник

min :: Bang -> Bang Bang Источник

Data Bang Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bang -> c Bang Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bang Источник

toConstr :: Bang -> Constr Источник

dataTypeOf :: Bang -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bang) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Bang) Источник

gmapT :: (forall b. Data b => b -> b) -> Bang -> Bang Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bang -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bang -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> Bang -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> Bang -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bang -> m Bang Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bang -> m Bang Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bang -> m Bang Источник

Generic Bang Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep Bang
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep Bang = D1 ('MetaData "Bang" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Bang" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SourceUnpackedness) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SourceStrictness)))

Методы

from :: Bang -> Rep Bang x Источник

to :: Rep Bang x -> Bang Источник

Show Bang Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Bang -> ShowS Источник

show :: Bang -> String Источник

showList :: [Bang] -> ShowS Источник

Lift Bang Источник

С версии: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Bang -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Bang -> Code m Bang Источник

type Rep Bang Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep Bang = D1 ('MetaData "Bang" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Bang" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SourceUnpackedness) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SourceStrictness)))

data BndrVis Источник

Видимость переменной типа. См. Выведенные и указанные переменные типа.

Конструкторы

BndrReq
a
BndrInvis
@a
Экземпляры
Подробности экземпляров
PprFlag BndrVis Источник
Подробности экземпляра

Определён в GHC.Boot.TH.Ppr

Методы

pprTyVarBndr :: TyVarBndr BndrVis -> Doc Источник

Eq BndrVis Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: BndrVis -> BndrVis -> Bool Источник

(/=) :: BndrVis -> BndrVis -> Bool Источник

Ord BndrVis Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: BndrVis -> BndrVis -> Ordering Источник

(<) :: BndrVis -> BndrVis -> Bool Источник

(<=) :: BndrVis -> BndrVis -> Bool Источник

(>) :: BndrVis -> BndrVis -> Bool Источник

(>=) :: BndrVis -> BndrVis -> Bool Источник

max :: BndrVis -> BndrVis -> BndrVis Источник

min :: BndrVis -> BndrVis -> BndrVis Источник

Data BndrVis Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BndrVis -> c BndrVis Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BndrVis Источник

toConstr :: BndrVis -> Constr Источник

dataTypeOf :: BndrVis -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BndrVis) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BndrVis) Источник

gmapT :: (forall b. Data b => b -> b) -> BndrVis -> BndrVis Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BndrVis -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BndrVis -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> BndrVis -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> BndrVis -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BndrVis -> m BndrVis Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BndrVis -> m BndrVis Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BndrVis -> m BndrVis Источник

Generic BndrVis Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep BndrVis
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep BndrVis = D1 ('MetaData "BndrVis" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "BndrReq" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BndrInvis" 'PrefixI 'False) (U1 :: Type -> Type))

Методы

from :: BndrVis -> Rep BndrVis x Источник

to :: Rep BndrVis x -> BndrVis Источник

Show BndrVis Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> BndrVis -> ShowS Источник

show :: BndrVis -> String Источник

showList :: [BndrVis] -> ShowS Источник

DefaultBndrFlag BndrVis Источник
Подробности экземпляра

Определён в Language.Haskell.TH.Lib

Методы

defaultBndrFlag :: BndrVis Источник

Lift BndrVis Источник

С версии: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => BndrVis -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => BndrVis -> Code m BndrVis Источник

type Rep BndrVis Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep BndrVis = D1 ('MetaData "BndrVis" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "BndrReq" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BndrInvis" 'PrefixI 'False) (U1 :: Type -> Type))

data Body Источник

Выражение, потенциально имеющее защитные условия, например в определениях функций или альтернативах case.

Конструкторы

GuardedB [(Guard, Exp)]
f p { | e1 = e2
      | e3 = e4 }
 where ds
NormalB Exp
f p { = e } where ds
Экземпляры
Подробности об экземплярах
Eq Body Источник
Подробности об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Body -> Body -> Bool Источник

(/=) :: Body -> Body -> Bool Источник

Ord Body Источник
Подробности об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Body -> Body -> Ordering Источник

(<) :: Body -> Body -> Bool Источник

(<=) :: Body -> Body -> Bool Источник

(>) :: Body -> Body -> Bool Источник

(>=) :: Body -> Body -> Bool Источник

max :: Body -> Body -> Body Источник

min :: Body -> Body -> Body Источник

Data Body Источник
Подробности об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Body -> c Body Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Body Источник

toConstr :: Body -> Constr Источник

dataTypeOf :: Body -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Body) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Body) Источник

gmapT :: (forall b. Data b => b -> b) -> Body -> Body Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Body -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Body -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> Body -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> Body -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Body -> m Body Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Body -> m Body Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Body -> m Body Источник

Generic Body Источник
Подробности об экземпляре

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep Body
Подробности об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep Body = D1 ('MetaData "Body" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "GuardedB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Guard, Exp)])) :+: C1 ('MetaCons "NormalB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))

Методы

from :: Body -> Rep Body x Источник

to :: Rep Body x -> Body Источник

Show Body Источник
Подробности об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Body -> ShowS Источник

show :: Body -> String Источник

showList :: [Body] -> ShowS Источник

Lift Body Источник

Начиная с: template-haskell-2.22.1.0

Подробности об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Body -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Body -> Code m Body Источник

type Rep Body Источник
Подробности об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep Body = D1 ('MetaData "Body" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "GuardedB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Guard, Exp)])) :+: C1 ('MetaCons "NormalB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))

data Bytes Источник

Необработанные байты, встроенные в двоичный файл.

Не используйте конструктор Bytes напрямую, так как в будущем он, вероятно, изменится. Вместо этого используйте вспомогательные функции, например mkBytes, из Language.Haskell.TH.Lib.

Конструкторы

Bytes

Поля

  • bytesPtr :: ForeignPtr Word8

    Указатель на данные

  • bytesOffset :: Word

    Смещение относительно указателя

  • bytesSize :: Word

    Количество байтов

Экземпляры
Подробности экземпляров
Eq Bytes Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: Bytes -> Bytes -> Bool Источник

(/=) :: Bytes -> Bytes -> Bool Источник

Ord Bytes Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

compare :: Bytes -> Bytes -> Ordering Источник

(<) :: Bytes -> Bytes -> Bool Источник

(<=) :: Bytes -> Bytes -> Bool Источник

(>) :: Bytes -> Bytes -> Bool Источник

(>=) :: Bytes -> Bytes -> Bool Источник

max :: Bytes -> Bytes -> Bytes Источник

min :: Bytes -> Bytes -> Bytes Источник

Data Bytes Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bytes -> c Bytes Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bytes Источник

toConstr :: Bytes -> Constr Источник

dataTypeOf :: Bytes -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bytes) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Bytes) Источник

gmapT :: (forall b. Data b => b -> b) -> Bytes -> Bytes Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bytes -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bytes -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> Bytes -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> Bytes -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bytes -> m Bytes Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bytes -> m Bytes Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bytes -> m Bytes Источник

Generic Bytes Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Связанные типы

type Rep Bytes
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep Bytes = D1 ('MetaData "Bytes" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Bytes" 'PrefixI 'True) (S1 ('MetaSel ('Just "bytesPtr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ForeignPtr Word8)) :*: (S1 ('MetaSel ('Just "bytesOffset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word) :*: S1 ('MetaSel ('Just "bytesSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word))))

Методы

from :: Bytes -> Rep Bytes x Источник

to :: Rep Bytes x -> Bytes Источник

Show Bytes Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Bytes -> ShowS Источник

show :: Bytes -> String Источник

showList :: [Bytes] -> ShowS Источник

Lift Bytes Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Bytes -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Bytes -> Code m Bytes Источник

type Rep Bytes Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep Bytes = D1 ('MetaData "Bytes" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Bytes" 'PrefixI 'True) (S1 ('MetaSel ('Just "bytesPtr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ForeignPtr Word8)) :*: (S1 ('MetaSel ('Just "bytesOffset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word) :*: S1 ('MetaSel ('Just "bytesSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word))))

data Callconv Источник

Идентификатор соглашения о вызовах, например в объявлении Foreign.

Конструкторы

CCall
StdCall
CApi
Prim
JavaScript
Экземпляры
Подробности экземпляров
Eq Callconv Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Callconv -> Callconv -> Bool Исходный код

(/=) :: Callconv -> Callconv -> Bool Исходный код

Ord Callconv Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Callconv -> Callconv -> Ordering Исходный код

(<) :: Callconv -> Callconv -> Bool Исходный код

(<=) :: Callconv -> Callconv -> Bool Исходный код

(>) :: Callconv -> Callconv -> Bool Исходный код

(>=) :: Callconv -> Callconv -> Bool Исходный код

max :: Callconv -> Callconv -> Callconv Исходный код

min :: Callconv -> Callconv -> Callconv Исходный код

Data Callconv Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Callconv -> c Callconv Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Callconv Исходный код

toConstr :: Callconv -> Constr Исходный код

dataTypeOf :: Callconv -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Callconv) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Callconv) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Callconv -> Callconv Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Callconv -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Callconv -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Callconv -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Callconv -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Callconv -> m Callconv Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Callconv -> m Callconv Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Callconv -> m Callconv Исходный код

Generic Callconv Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep Callconv
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Callconv = D1 ('MetaData "Callconv" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "CCall" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StdCall" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CApi" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Prim" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "JavaScript" 'PrefixI 'False) (U1 :: Type -> Type))))

Методы

from :: Callconv -> Rep Callconv x Исходный код

to :: Rep Callconv x -> Callconv Исходный код

Show Callconv Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Callconv -> ShowS Исходный код

show :: Callconv -> String Исходный код

showList :: [Callconv] -> ShowS Исходный код

Lift Callconv Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Callconv -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Callconv -> Code m Callconv Исходный код

type Rep Callconv Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Callconv = D1 ('MetaData "Callconv" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "CCall" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StdCall" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CApi" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Prim" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "JavaScript" 'PrefixI 'False) (U1 :: Type -> Type))))

type CharPos Исходный код

Аргументы

= (Int, Int)

Позиция строки и символа

type Cxt Исходный код

Аргументы

= [Pred]
(Eq a, Ord b)

Контекст, встречающийся в левой части => в типе.

data DecidedStrictness Исходный код

В отличие от SourceStrictness и SourceUnpackedness, DecidedStrictness обозначает аннотации строгости, которые компилятор выбирает для поля конструктора данных; они могут отличаться от указанных в исходном коде.

Обратите внимание, что строгим полям без распаковки присваивается DecidedLazy, если использование восклицательного знака было бы неуместным, например для поля конструктора newtype и полей с типом без подъёма.

Дополнительные сведения см. в reifyConStrictness.

Конструкторы

DecidedLazy

Поле, для которого выведено отсутствие восклицательного знака.

DecidedStrict

Поле, для которого выведено наличие восклицательного знака.

DecidedUnpack

Поле, для которого выведена распаковка.

Экземпляры
Подробности экземпляров
Ppr DecidedStrictness Источник
Подробности экземпляра

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: DecidedStrictness -> Doc Источник

ppr_list :: [DecidedStrictness] -> Doc Источник

Eq DecidedStrictness Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: DecidedStrictness -> DecidedStrictness -> Bool Источник

(/=) :: DecidedStrictness -> DecidedStrictness -> Bool Источник

Ord DecidedStrictness Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: DecidedStrictness -> DecidedStrictness -> Ordering Источник

(<) :: DecidedStrictness -> DecidedStrictness -> Bool Источник

(<=) :: DecidedStrictness -> DecidedStrictness -> Bool Источник

(>) :: DecidedStrictness -> DecidedStrictness -> Bool Источник

(>=) :: DecidedStrictness -> DecidedStrictness -> Bool Источник

max :: DecidedStrictness -> DecidedStrictness -> DecidedStrictness Источник

min :: DecidedStrictness -> DecidedStrictness -> DecidedStrictness Источник

Data DecidedStrictness Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DecidedStrictness -> c DecidedStrictness Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DecidedStrictness Источник

toConstr :: DecidedStrictness -> Constr Источник

dataTypeOf :: DecidedStrictness -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DecidedStrictness) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DecidedStrictness) Источник

gmapT :: (forall b. Data b => b -> b) -> DecidedStrictness -> DecidedStrictness Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DecidedStrictness -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DecidedStrictness -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> DecidedStrictness -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> DecidedStrictness -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DecidedStrictness -> m DecidedStrictness Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DecidedStrictness -> m DecidedStrictness Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DecidedStrictness -> m DecidedStrictness Источник

Generic DecidedStrictness Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep DecidedStrictness
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep DecidedStrictness = D1 ('MetaData "DecidedStrictness" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "DecidedLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DecidedStrict" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DecidedUnpack" 'PrefixI 'False) (U1 :: Type -> Type)))

Методы

from :: DecidedStrictness -> Rep DecidedStrictness x Источник

to :: Rep DecidedStrictness x -> DecidedStrictness Источник

Show DecidedStrictness Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> DecidedStrictness -> ShowS Источник

show :: DecidedStrictness -> String Источник

showList :: [DecidedStrictness] -> ShowS Источник

Lift DecidedStrictness Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => DecidedStrictness -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => DecidedStrictness -> Code m DecidedStrictness Источник

type Rep DecidedStrictness Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep DecidedStrictness = D1 ('MetaData "DecidedStrictness" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "DecidedLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DecidedStrict" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DecidedUnpack" 'PrefixI 'False) (U1 :: Type -> Type)))

data DocLoc Источник

Место, к которому следует прикрепить документацию Haddock. Обратите внимание, что добавление документации к Name, определённому вне текущего модуля, приведёт к ошибке.

Конструкторы

ModuleDoc

В заголовке текущего модуля.

DeclDoc Name

При объявлении, не обязательно верхнего уровня.

ArgDoc Name Int

У определённого аргумента функции, индексируемого по его позиции.

InstDoc Type

У экземпляра класса или семейства.

Экземпляры
Подробности экземпляров
Eq DocLoc Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: DocLoc -> DocLoc -> Bool Исходный код

(/=) :: DocLoc -> DocLoc -> Bool Исходный код

Ord DocLoc Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

compare :: DocLoc -> DocLoc -> Ordering Исходный код

(<) :: DocLoc -> DocLoc -> Bool Исходный код

(<=) :: DocLoc -> DocLoc -> Bool Исходный код

(>) :: DocLoc -> DocLoc -> Bool Исходный код

(>=) :: DocLoc -> DocLoc -> Bool Исходный код

max :: DocLoc -> DocLoc -> DocLoc Исходный код

min :: DocLoc -> DocLoc -> DocLoc Исходный код

Data DocLoc Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DocLoc -> c DocLoc Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DocLoc Исходный код

toConstr :: DocLoc -> Constr Исходный код

dataTypeOf :: DocLoc -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DocLoc) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DocLoc) Исходный код

gmapT :: (forall b. Data b => b -> b) -> DocLoc -> DocLoc Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DocLoc -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DocLoc -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> DocLoc -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> DocLoc -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DocLoc -> m DocLoc Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DocLoc -> m DocLoc Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DocLoc -> m DocLoc Исходный код

Generic DocLoc Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Ассоциированные типы

type Rep DocLoc
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep DocLoc = D1 ('MetaData "DocLoc" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "ModuleDoc" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DeclDoc" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "ArgDoc" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "InstDoc" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))

Методы

from :: DocLoc -> Rep DocLoc x Исходный код

to :: Rep DocLoc x -> DocLoc Исходный код

Show DocLoc Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> DocLoc -> ShowS Исходный код

show :: DocLoc -> String Исходный код

showList :: [DocLoc] -> ShowS Исходный код

Lift DocLoc Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => DocLoc -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => DocLoc -> Code m DocLoc Исходный код

type Rep DocLoc Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep DocLoc = D1 ('MetaData "DocLoc" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "ModuleDoc" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DeclDoc" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "ArgDoc" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "InstDoc" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))

data FamilyResultSig Исходный код

Сигнатура результата семейства типов

Конструкторы

NoSig

сигнатура отсутствует

KindSig Kind
k
TyVarSig (TyVarBndr ())
= r, = (r :: k)
Экземпляры
Подробная информация об экземплярах
Ppr FamilyResultSig Источник
Подробная информация об экземпляре

Определено в GHC.Boot.TH.Ppr

Методы

ppr :: FamilyResultSig -> Doc Источник

ppr_list :: [FamilyResultSig] -> Doc Источник

Eq FamilyResultSig Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: FamilyResultSig -> FamilyResultSig -> Bool Источник

(/=) :: FamilyResultSig -> FamilyResultSig -> Bool Источник

Ord FamilyResultSig Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

compare :: FamilyResultSig -> FamilyResultSig -> Ordering Источник

(<) :: FamilyResultSig -> FamilyResultSig -> Bool Источник

(<=) :: FamilyResultSig -> FamilyResultSig -> Bool Источник

(>) :: FamilyResultSig -> FamilyResultSig -> Bool Источник

(>=) :: FamilyResultSig -> FamilyResultSig -> Bool Источник

max :: FamilyResultSig -> FamilyResultSig -> FamilyResultSig Источник

min :: FamilyResultSig -> FamilyResultSig -> FamilyResultSig Источник

Data FamilyResultSig Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FamilyResultSig -> c FamilyResultSig Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FamilyResultSig Источник

toConstr :: FamilyResultSig -> Constr Источник

dataTypeOf :: FamilyResultSig -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FamilyResultSig) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FamilyResultSig) Источник

gmapT :: (forall b. Data b => b -> b) -> FamilyResultSig -> FamilyResultSig Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FamilyResultSig -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FamilyResultSig -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> FamilyResultSig -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> FamilyResultSig -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FamilyResultSig -> m FamilyResultSig Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FamilyResultSig -> m FamilyResultSig Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FamilyResultSig -> m FamilyResultSig Источник

Generic FamilyResultSig Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Связанные типы

type Rep FamilyResultSig
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

type Rep FamilyResultSig = D1 ('MetaData "FamilyResultSig" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "NoSig" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KindSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind)) :+: C1 ('MetaCons "TyVarSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TyVarBndr ())))))

Методы

from :: FamilyResultSig -> Rep FamilyResultSig x Источник

to :: Rep FamilyResultSig x -> FamilyResultSig Источник

Show FamilyResultSig Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> FamilyResultSig -> ShowS Источник

show :: FamilyResultSig -> String Источник

showList :: [FamilyResultSig] -> ShowS Источник

Lift FamilyResultSig Источник

Начиная с: template-haskell-2.22.1.0

Подробная информация об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => FamilyResultSig -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => FamilyResultSig -> Code m FamilyResultSig Источник

type Rep FamilyResultSig Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

type Rep FamilyResultSig = D1 ('MetaData "FamilyResultSig" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "NoSig" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KindSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind)) :+: C1 ('MetaCons "TyVarSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TyVarBndr ())))))

data Fixity Исходный код

Ассоциативность и приоритет, указанные в объявлении infix[lr] n.

Конструкторы

Fixity Int FixityDirection
Экземпляры
Подробности экземпляров
Eq Fixity Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Fixity -> Fixity -> Bool Исходный код

(/=) :: Fixity -> Fixity -> Bool Исходный код

Ord Fixity Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Fixity -> Fixity -> Ordering Исходный код

(<) :: Fixity -> Fixity -> Bool Исходный код

(<=) :: Fixity -> Fixity -> Bool Исходный код

(>) :: Fixity -> Fixity -> Bool Исходный код

(>=) :: Fixity -> Fixity -> Bool Исходный код

max :: Fixity -> Fixity -> Fixity Исходный код

min :: Fixity -> Fixity -> Fixity Исходный код

Data Fixity Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Fixity -> c Fixity Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Fixity Исходный код

toConstr :: Fixity -> Constr Исходный код

dataTypeOf :: Fixity -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Fixity) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Fixity) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Fixity -> Fixity Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Fixity -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Fixity -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Fixity -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Fixity -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Fixity -> m Fixity Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Fixity -> m Fixity Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Fixity -> m Fixity Исходный код

Generic Fixity Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep Fixity
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Fixity = D1 ('MetaData "Fixity" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Fixity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FixityDirection)))

Методы

from :: Fixity -> Rep Fixity x Исходный код

to :: Rep Fixity x -> Fixity Исходный код

Show Fixity Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Fixity -> ShowS Исходный код

show :: Fixity -> String Исходный код

showList :: [Fixity] -> ShowS Исходный код

Lift Fixity Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Fixity -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Fixity -> Code m Fixity Исходный код

type Rep Fixity Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Fixity = D1 ('MetaData "Fixity" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Fixity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FixityDirection)))

data FixityDirection Исходный код

Ассоциативность оператора, как в объявлении infix.

Конструкторы

InfixL
InfixR
InfixN
Экземпляры
Сведения об экземплярах
Eq FixityDirection Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: FixityDirection -> FixityDirection -> Bool Источник

(/=) :: FixityDirection -> FixityDirection -> Bool Источник

Ord FixityDirection Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

compare :: FixityDirection -> FixityDirection -> Ordering Источник

(<) :: FixityDirection -> FixityDirection -> Bool Источник

(<=) :: FixityDirection -> FixityDirection -> Bool Источник

(>) :: FixityDirection -> FixityDirection -> Bool Источник

(>=) :: FixityDirection -> FixityDirection -> Bool Источник

max :: FixityDirection -> FixityDirection -> FixityDirection Источник

min :: FixityDirection -> FixityDirection -> FixityDirection Источник

Data FixityDirection Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FixityDirection -> c FixityDirection Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FixityDirection Источник

toConstr :: FixityDirection -> Constr Источник

dataTypeOf :: FixityDirection -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FixityDirection) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FixityDirection) Источник

gmapT :: (forall b. Data b => b -> b) -> FixityDirection -> FixityDirection Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FixityDirection -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FixityDirection -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> FixityDirection -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> FixityDirection -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FixityDirection -> m FixityDirection Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FixityDirection -> m FixityDirection Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FixityDirection -> m FixityDirection Источник

Generic FixityDirection Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Связанные типы

type Rep FixityDirection
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

type Rep FixityDirection = D1 ('MetaData "FixityDirection" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "InfixL" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "InfixR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InfixN" 'PrefixI 'False) (U1 :: Type -> Type)))

Методы

from :: FixityDirection -> Rep FixityDirection x Источник

to :: Rep FixityDirection x -> FixityDirection Источник

Show FixityDirection Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> FixityDirection -> ShowS Источник

show :: FixityDirection -> String Источник

showList :: [FixityDirection] -> ShowS Источник

Lift FixityDirection Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => FixityDirection -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => FixityDirection -> Code m FixityDirection Источник

type Rep FixityDirection Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

type Rep FixityDirection = D1 ('MetaData "FixityDirection" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "InfixL" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "InfixR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InfixN" 'PrefixI 'False) (U1 :: Type -> Type)))

data Foreign Источник

Объявление foreign.

Конструкторы

ImportF Callconv Safety String Name Type
foreign import callconv safety "foreign_name" haskellName :: type
ExportF Callconv String Name Type
foreign export callconv "foreign_name" haskellName :: type
Экземпляры
Подробности экземпляров
Ppr Foreign Источник
Подробности экземпляра

Определено в GHC.Boot.TH.Ppr

Методы

ppr :: Foreign -> Doc Источник

ppr_list :: [Foreign] -> Doc Источник

Eq Foreign Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: Foreign -> Foreign -> Bool Источник

(/=) :: Foreign -> Foreign -> Bool Источник

Ord Foreign Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

compare :: Foreign -> Foreign -> Ordering Источник

(<) :: Foreign -> Foreign -> Bool Источник

(<=) :: Foreign -> Foreign -> Bool Источник

(>) :: Foreign -> Foreign -> Bool Источник

(>=) :: Foreign -> Foreign -> Bool Источник

max :: Foreign -> Foreign -> Foreign Источник

min :: Foreign -> Foreign -> Foreign Источник

Data Foreign Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Foreign -> c Foreign Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Foreign Источник

toConstr :: Foreign -> Constr Источник

dataTypeOf :: Foreign -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Foreign) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Foreign) Источник

gmapT :: (forall b. Data b => b -> b) -> Foreign -> Foreign Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Foreign -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Foreign -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> Foreign -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> Foreign -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Foreign -> m Foreign Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Foreign -> m Foreign Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Foreign -> m Foreign Источник

Generic Foreign Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Ассоциированные типы

type Rep Foreign
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep Foreign = D1 ('MetaData "Foreign" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "ImportF" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Callconv) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Safety)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: C1 ('MetaCons "ExportF" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Callconv) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))

Методы

from :: Foreign -> Rep Foreign x Источник

to :: Rep Foreign x -> Foreign Источник

Show Foreign Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Foreign -> ShowS Источник

show :: Foreign -> String Источник

showList :: [Foreign] -> ShowS Источник

Lift Foreign Источник

Since: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Foreign -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Foreign -> Code m Foreign Источник

type Rep Foreign Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

type Rep Foreign = D1 ('MetaData "Foreign" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "ImportF" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Callconv) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Safety)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: C1 ('MetaCons "ExportF" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Callconv) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))

data Guard Источник

Одно ограничение.

Конструкторы

NormalG Exp
f x { | odd x } = x
PatG [Stmt]
f x { | Just y <- x, Just z <- y } = z
Экземпляры
Подробности экземпляров
Eq Guard Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Guard -> Guard -> Bool Источник

(/=) :: Guard -> Guard -> Bool Источник

Ord Guard Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Guard -> Guard -> Ordering Источник

(<) :: Guard -> Guard -> Bool Источник

(<=) :: Guard -> Guard -> Bool Источник

(>) :: Guard -> Guard -> Bool Источник

(>=) :: Guard -> Guard -> Bool Источник

max :: Guard -> Guard -> Guard Источник

min :: Guard -> Guard -> Guard Источник

Data Guard Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Guard -> c Guard Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Guard Источник

toConstr :: Guard -> Constr Источник

dataTypeOf :: Guard -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Guard) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Guard) Источник

gmapT :: (forall b. Data b => b -> b) -> Guard -> Guard Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Guard -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Guard -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> Guard -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> Guard -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Guard -> m Guard Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Guard -> m Guard Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Guard -> m Guard Источник

Generic Guard Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep Guard
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Guard = D1 ('MetaData "Guard" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "NormalG" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "PatG" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt])))

Методы

from :: Guard -> Rep Guard x Источник

to :: Rep Guard x -> Guard Источник

Show Guard Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Guard -> ShowS Источник

show :: Guard -> String Источник

showList :: [Guard] -> ShowS Источник

Lift Guard Источник

С версии: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Guard -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Guard -> Code m Guard Источник

type Rep Guard Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Guard = D1 ('MetaData "Guard" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "NormalG" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "PatG" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt])))

data Info Источник

Получено из reify в монаде Q.

Конструкторы

ClassI Dec [InstanceDec]

Класс со списком его видимых экземпляров

ClassOpI Name Type ParentName

Метод класса

TyConI Dec

«Обычный» конструктор типа. «Более сложные» конструкторы типов возвращаются с помощью PrimTyConI или FamilyI, в зависимости от ситуации. В настоящее время эта рефицированная декларация никогда не содержит присоединённых производных экземпляров (если нужно проверить наличие экземпляра, см. reifyInstances).

FamilyI Dec [InstanceDec]

Семейство типов или данных со списком его видимых экземпляров. Замкнутое семейство типов возвращается с 0 экземплярами.

PrimTyConI Name Arity Unlifted

«Примитивный» конструктор типа, который нельзя выразить с помощью Dec. Примеры: (->), Int#.

DataConI Name Type ParentName

Конструктор данных

PatSynI Name PatSynType

Синоним шаблона

VarI Name Type (Maybe Dec)

Переменная-«значение» (в отличие от переменной типа; см. TyVarI).

Поле Maybe Dec содержит Just декларацию, в которой определена переменная, включая правую часть декларации, либо Nothing, если правая часть недоступна компилятору.

В настоящее время это значение всегда равно Nothing: возврат правой части ещё не реализован; ход работ отслеживается в GHC #14474.

TyVarI Name Type

Переменная типа.

Поле Type содержит тип, лежащий в основе переменной. В настоящее время это всегда VarT theName, однако будущие изменения могут допустить уточнение этого типа.

Экземпляры
Подробности экземпляров
Ppr Info Исходный код
Подробности экземпляра

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: Info -> Doc Исходный код

ppr_list :: [Info] -> Doc Исходный код

Eq Info Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Info -> Info -> Bool Исходный код

(/=) :: Info -> Info -> Bool Исходный код

Ord Info Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Info -> Info -> Ordering Исходный код

(<) :: Info -> Info -> Bool Исходный код

(<=) :: Info -> Info -> Bool Исходный код

(>) :: Info -> Info -> Bool Исходный код

(>=) :: Info -> Info -> Bool Исходный код

max :: Info -> Info -> Info Исходный код

min :: Info -> Info -> Info Исходный код

Data Info Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Info -> c Info Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Info Исходный код

toConstr :: Info -> Constr Исходный код

dataTypeOf :: Info -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Info) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Info) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Info -> Info Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Info -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Info -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Info -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Info -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Info -> m Info Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Info -> m Info Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Info -> m Info Исходный код

Generic Info Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Связанные типы

type Rep Info
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep Info = D1 ('MetaData "Info" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (((C1 ('MetaCons "ClassI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Dec) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [InstanceDec])) :+: C1 ('MetaCons "ClassOpI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ParentName)))) :+: (C1 ('MetaCons "TyConI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Dec)) :+: C1 ('MetaCons "FamilyI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Dec) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [InstanceDec])))) :+: ((C1 ('MetaCons "PrimTyConI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Arity) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Unlifted))) :+: C1 ('MetaCons "DataConI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ParentName)))) :+: (C1 ('MetaCons "PatSynI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatSynType)) :+: (C1 ('MetaCons "VarI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Dec)))) :+: C1 ('MetaCons "TyVarI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))))

Методы

from :: Info -> Rep Info x Исходный код

to :: Rep Info x -> Info Исходный код

Show Info Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Info -> ShowS Исходный код

show :: Info -> String Исходный код

showList :: [Info] -> ShowS Исходный код

Lift Info Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Info -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Info -> Code m Info Исходный код

type Rep Info Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep Info = D1 ('MetaData "Info" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (((C1 ('MetaCons "ClassI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Dec) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [InstanceDec])) :+: C1 ('MetaCons "ClassOpI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ParentName)))) :+: (C1 ('MetaCons "TyConI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Dec)) :+: C1 ('MetaCons "FamilyI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Dec) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [InstanceDec])))) :+: ((C1 ('MetaCons "PrimTyConI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Arity) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Unlifted))) :+: C1 ('MetaCons "DataConI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ParentName)))) :+: (C1 ('MetaCons "PatSynI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatSynType)) :+: (C1 ('MetaCons "VarI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Maybe Dec)))) :+: C1 ('MetaCons "TyVarI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))))

data Inline Источник

Прагма встраивания.

Конструкторы

NoInline
{ {-# NOINLINE ... #-} }
Inline
{ {-# INLINE ... #-} }
Inlinable
{ {-# INLINABLE ... #-} }
Экземпляры
Подробная информация об экземплярах
Ppr Inline Исходный код
Подробная информация об экземпляре

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: Inline -> Doc Исходный код

ppr_list :: [Inline] -> Doc Исходный код

Eq Inline Исходный код
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Inline -> Inline -> Bool Исходный код

(/=) :: Inline -> Inline -> Bool Исходный код

Ord Inline Исходный код
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Inline -> Inline -> Ordering Исходный код

(<) :: Inline -> Inline -> Bool Исходный код

(<=) :: Inline -> Inline -> Bool Исходный код

(>) :: Inline -> Inline -> Bool Исходный код

(>=) :: Inline -> Inline -> Bool Исходный код

max :: Inline -> Inline -> Inline Исходный код

min :: Inline -> Inline -> Inline Исходный код

Data Inline Исходный код
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Inline -> c Inline Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Inline Исходный код

toConstr :: Inline -> Constr Исходный код

dataTypeOf :: Inline -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Inline) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Inline) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Inline -> Inline Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Inline -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Inline -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Inline -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Inline -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Inline -> m Inline Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Inline -> m Inline Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Inline -> m Inline Исходный код

Generic Inline Исходный код
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep Inline
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep Inline = D1 ('MetaData "Inline" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "NoInline" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Inline" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Inlinable" 'PrefixI 'False) (U1 :: Type -> Type)))

Методы

from :: Inline -> Rep Inline x Исходный код

to :: Rep Inline x -> Inline Исходный код

Show Inline Исходный код
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Inline -> ShowS Исходный код

show :: Inline -> String Исходный код

showList :: [Inline] -> ShowS Исходный код

Lift Inline Исходный код

Начиная с: template-haskell-2.22.1.0

Подробная информация об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Inline -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Inline -> Code m Inline Исходный код

type Rep Inline Исходный код
Подробная информация об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep Inline = D1 ('MetaData "Inline" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "NoInline" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Inline" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Inlinable" 'PrefixI 'False) (U1 :: Type -> Type)))

type InstanceDec = Dec Исходный код

InstanceDec описывает один экземпляр класса или функции типа. Это просто Dec, но гарантированно один из следующих вариантов:

  • InstanceD (с пустым [Dec])
  • DataInstD или NewtypeInstD (с пустым производным [Name])
  • TySynInstD

data Lit Исходный код

Литерал Haskell. Обратите внимание, что числовые типы представлены либо через Integer, либо через Rational, независимо от представляемого ими типа. Дополнительная точность отражает текстовое представление в исходном коде.

Конструкторы

CharL Char
'c'
StringL String
"string"
IntegerL Integer

123. Используется для перегружаемых и неперегружаемых литералов. В настоящий момент у нас нет хорошего способа представлять неперегружаемые литералы. Возможно, это не имеет значения?

RationalL Rational

1.23. См. комментарий выше о IntegerL.

IntPrimL Integer
123#
WordPrimL Integer
123##
FloatPrimL Rational
1.23#
DoublePrimL Rational
1.23##
StringPrimL [Word8]

"string"#. Примитивная строка в стиле C, тип Addr#

BytesPrimL Bytes

Необработанные байты, тип Addr#:

CharPrimL Char
'c'#
Экземпляры
Сведения об экземплярах
Ppr Lit Исходный код
Сведения об экземпляре

Определено в GHC.Boot.TH.Ppr

Методы

ppr :: Lit -> Doc Исходный код

ppr_list :: [Lit] -> Doc Исходный код

Eq Lit Исходный код
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: Lit -> Lit -> Bool Исходный код

(/=) :: Lit -> Lit -> Bool Исходный код

Ord Lit Исходный код
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

compare :: Lit -> Lit -> Ordering Исходный код

(<) :: Lit -> Lit -> Bool Исходный код

(<=) :: Lit -> Lit -> Bool Исходный код

(>) :: Lit -> Lit -> Bool Исходный код

(>=) :: Lit -> Lit -> Bool Исходный код

max :: Lit -> Lit -> Lit Исходный код

min :: Lit -> Lit -> Lit Исходный код

Data Lit Исходный код
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Lit -> c Lit Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Lit Исходный код

toConstr :: Lit -> Constr Исходный код

dataTypeOf :: Lit -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Lit) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Lit) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Lit -> Lit Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Lit -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Lit -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Lit -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Lit -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Lit -> m Lit Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Lit -> m Lit Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Lit -> m Lit Исходный код

Generic Lit Исходный код
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Связанные типы

type Rep Lit
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

type Rep Lit = D1 ('MetaData "Lit" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (((C1 ('MetaCons "CharL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char)) :+: C1 ('MetaCons "StringL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "IntegerL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: (C1 ('MetaCons "RationalL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)) :+: C1 ('MetaCons "IntPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer))))) :+: ((C1 ('MetaCons "WordPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: (C1 ('MetaCons "FloatPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)) :+: C1 ('MetaCons "DoublePrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)))) :+: (C1 ('MetaCons "StringPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Word8])) :+: (C1 ('MetaCons "BytesPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bytes)) :+: C1 ('MetaCons "CharPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char))))))

Методы

from :: Lit -> Rep Lit x Источник

to :: Rep Lit x -> Lit Источник

Show Lit Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Lit -> ShowS Источник

show :: Lit -> String Источник

showList :: [Lit] -> ShowS Источник

Lift Lit Источник

С версии: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Lit -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Lit -> Code m Lit Источник

type Rep Lit Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep Lit = D1 ('MetaData "Lit" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (((C1 ('MetaCons "CharL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char)) :+: C1 ('MetaCons "StringL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "IntegerL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: (C1 ('MetaCons "RationalL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)) :+: C1 ('MetaCons "IntPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer))))) :+: ((C1 ('MetaCons "WordPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: (C1 ('MetaCons "FloatPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)) :+: C1 ('MetaCons "DoublePrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)))) :+: (C1 ('MetaCons "StringPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Word8])) :+: (C1 ('MetaCons "BytesPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bytes)) :+: C1 ('MetaCons "CharPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char))))))

data Loc Source

Местоположение в исходном файле.

Конструкторы

Loc

Поля

  • loc_filename :: String
  • loc_package :: String
  • loc_module :: String
  • loc_start :: CharPos
  • loc_end :: CharPos
Экземпляры
Подробная информация об экземплярах
Ppr Loc Источник
Подробная информация об экземпляре

Определено в GHC.Boot.TH.Ppr

Методы

ppr :: Loc -> Doc Источник

ppr_list :: [Loc] -> Doc Источник

Eq Loc Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: Loc -> Loc -> Bool Источник

(/=) :: Loc -> Loc -> Bool Источник

Ord Loc Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

compare :: Loc -> Loc -> Ordering Источник

(<) :: Loc -> Loc -> Bool Источник

(<=) :: Loc -> Loc -> Bool Источник

(>) :: Loc -> Loc -> Bool Источник

(>=) :: Loc -> Loc -> Bool Источник

max :: Loc -> Loc -> Loc Источник

min :: Loc -> Loc -> Loc Источник

Data Loc Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Loc -> c Loc Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Loc Источник

toConstr :: Loc -> Constr Источник

dataTypeOf :: Loc -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Loc) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Loc) Источник

gmapT :: (forall b. Data b => b -> b) -> Loc -> Loc Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Loc -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Loc -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> Loc -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> Loc -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Loc -> m Loc Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Loc -> m Loc Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Loc -> m Loc Источник

Generic Loc Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Связанные типы

type Rep Loc
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

type Rep Loc = D1 ('MetaData "Loc" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Loc" 'PrefixI 'True) ((S1 ('MetaSel ('Just "loc_filename") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "loc_package") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :*: (S1 ('MetaSel ('Just "loc_module") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "loc_start") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CharPos) :*: S1 ('MetaSel ('Just "loc_end") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CharPos)))))

Методы

from :: Loc -> Rep Loc x Источник

to :: Rep Loc x -> Loc Источник

Show Loc Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Loc -> ShowS Источник

show :: Loc -> String Источник

showList :: [Loc] -> ShowS Источник

Lift Loc Источник

Начиная с: template-haskell-2.22.1.0

Подробная информация об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Loc -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Loc -> Code m Loc Источник

type Rep Loc Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep Loc = D1 ('MetaData "Loc" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Loc" 'PrefixI 'True) ((S1 ('MetaSel ('Just "loc_filename") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "loc_package") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :*: (S1 ('MetaSel ('Just "loc_module") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "loc_start") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CharPos) :*: S1 ('MetaSel ('Just "loc_end") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CharPos)))))

data Module Исходный код

Получено из reifyModule и thisModule.

Конструкторы

Module PkgName ModName
Экземпляры
Подробности экземпляров
Ppr Module Источник
Подробности экземпляра

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: Module -> Doc Источник

ppr_list :: [Module] -> Doc Источник

Eq Module Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Module -> Module -> Bool Источник

(/=) :: Module -> Module -> Bool Источник

Ord Module Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Module -> Module -> Ordering Источник

(<) :: Module -> Module -> Bool Источник

(<=) :: Module -> Module -> Bool Источник

(>) :: Module -> Module -> Bool Источник

(>=) :: Module -> Module -> Bool Источник

max :: Module -> Module -> Module Источник

min :: Module -> Module -> Module Источник

Data Module Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Module -> c Module Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Module Источник

toConstr :: Module -> Constr Источник

dataTypeOf :: Module -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Module) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Module) Источник

gmapT :: (forall b. Data b => b -> b) -> Module -> Module Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Module -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Module -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> Module -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> Module -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Module -> m Module Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Module -> m Module Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Module -> m Module Источник

Generic Module Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Ассоциированные типы

type Rep Module
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Module = D1 ('MetaData "Module" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Module" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PkgName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModName)))

Методы

from :: Module -> Rep Module x Источник

to :: Rep Module x -> Module Источник

Show Module Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Module -> ShowS Источник

show :: Module -> String Источник

showList :: [Module] -> ShowS Источник

Lift Module Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Module -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Module -> Code m Module Источник

type Rep Module Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Module = D1 ('MetaData "Module" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Module" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PkgName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModName)))

data ModuleInfo Источник

Получено из reifyModule в монаде Q.

Конструкторы

ModuleInfo [Module]

Содержит список импортов модуля.

Экземпляры
Подробности экземпляров
Ppr ModuleInfo Источник
Подробности экземпляра

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: ModuleInfo -> Doc Источник

ppr_list :: [ModuleInfo] -> Doc Источник

Eq ModuleInfo Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: ModuleInfo -> ModuleInfo -> Bool Источник

(/=) :: ModuleInfo -> ModuleInfo -> Bool Источник

Ord ModuleInfo Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: ModuleInfo -> ModuleInfo -> Ordering Источник

(<) :: ModuleInfo -> ModuleInfo -> Bool Источник

(<=) :: ModuleInfo -> ModuleInfo -> Bool Источник

(>) :: ModuleInfo -> ModuleInfo -> Bool Источник

(>=) :: ModuleInfo -> ModuleInfo -> Bool Источник

max :: ModuleInfo -> ModuleInfo -> ModuleInfo Источник

min :: ModuleInfo -> ModuleInfo -> ModuleInfo Источник

Data ModuleInfo Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ModuleInfo -> c ModuleInfo Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ModuleInfo Источник

toConstr :: ModuleInfo -> Constr Источник

dataTypeOf :: ModuleInfo -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ModuleInfo) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ModuleInfo) Источник

gmapT :: (forall b. Data b => b -> b) -> ModuleInfo -> ModuleInfo Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ModuleInfo -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ModuleInfo -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> ModuleInfo -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> ModuleInfo -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ModuleInfo -> m ModuleInfo Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleInfo -> m ModuleInfo Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleInfo -> m ModuleInfo Источник

Generic ModuleInfo Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep ModuleInfo
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep ModuleInfo = D1 ('MetaData "ModuleInfo" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "ModuleInfo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Module])))

Методы

from :: ModuleInfo -> Rep ModuleInfo x Источник

to :: Rep ModuleInfo x -> ModuleInfo Источник

Show ModuleInfo Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> ModuleInfo -> ShowS Источник

show :: ModuleInfo -> String Источник

showList :: [ModuleInfo] -> ShowS Источник

type Rep ModuleInfo Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep ModuleInfo = D1 ('MetaData "ModuleInfo" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "ModuleInfo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Module])))

data NameFlavour Источник

Конструкторы

NameS

Неквалифицированное имя; динамически связывается

NameQ ModName

Квалифицированное имя; динамически связывается

NameU !Uniq

Уникальное локальное имя

NameL !Uniq

Локальное имя, связанное вне AST TH

NameG NameSpace PkgName ModName

Глобальное имя, связанное вне AST TH: исходное имя (только вхождения, не связыватели). Также требуется пространство имён, чтобы точно определить, что именно мы именуем

Экземпляры
Подробности экземпляров
Eq NameFlavour Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: NameFlavour -> NameFlavour -> Bool Исходный код

(/=) :: NameFlavour -> NameFlavour -> Bool Исходный код

Ord NameFlavour Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: NameFlavour -> NameFlavour -> Ordering Исходный код

(<) :: NameFlavour -> NameFlavour -> Bool Исходный код

(<=) :: NameFlavour -> NameFlavour -> Bool Исходный код

(>) :: NameFlavour -> NameFlavour -> Bool Исходный код

(>=) :: NameFlavour -> NameFlavour -> Bool Исходный код

max :: NameFlavour -> NameFlavour -> NameFlavour Исходный код

min :: NameFlavour -> NameFlavour -> NameFlavour Исходный код

Data NameFlavour Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NameFlavour -> c NameFlavour Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NameFlavour Исходный код

toConstr :: NameFlavour -> Constr Исходный код

dataTypeOf :: NameFlavour -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NameFlavour) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NameFlavour) Исходный код

gmapT :: (forall b. Data b => b -> b) -> NameFlavour -> NameFlavour Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NameFlavour -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NameFlavour -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> NameFlavour -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> NameFlavour -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NameFlavour -> m NameFlavour Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NameFlavour -> m NameFlavour Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NameFlavour -> m NameFlavour Исходный код

Generic NameFlavour Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep NameFlavour
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep NameFlavour = D1 ('MetaData "NameFlavour" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "NameS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NameQ" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModName))) :+: (C1 ('MetaCons "NameU" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Uniq)) :+: (C1 ('MetaCons "NameL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Uniq)) :+: C1 ('MetaCons "NameG" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameSpace) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PkgName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModName))))))

Методы

from :: NameFlavour -> Rep NameFlavour x Исходный код

to :: Rep NameFlavour x -> NameFlavour Исходный код

Show NameFlavour Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> NameFlavour -> ShowS Исходный код

show :: NameFlavour -> String Исходный код

showList :: [NameFlavour] -> ShowS Исходный код

Lift NameFlavour Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => NameFlavour -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => NameFlavour -> Code m NameFlavour Исходный код

type Rep NameFlavour Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep NameFlavour = D1 ('MetaData "NameFlavour" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "NameS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NameQ" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModName))) :+: (C1 ('MetaCons "NameU" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Uniq)) :+: (C1 ('MetaCons "NameL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Uniq)) :+: C1 ('MetaCons "NameG" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameSpace) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PkgName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModName))))))

data NameIs Источник

Конструкторы

Alone
name
Applied
(name)
Infix
`name`
Экземпляры
Подробности экземпляров
Lift NameIs Источник

С версии: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => NameIs -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => NameIs -> Code m NameIs Источник

data NameSpace Источник

Конструкторы

VarName

Переменные

DataName

Конструкторы данных

TcClsName

Конструкторы типов и классы; в Haskell они пока находятся в одном пространстве имён.

FldName

Поля

  • fldParent :: !String

    Текстовое имя родительского поля.

    • Для поля типа данных это имя первого конструктора типа данных (независимо от того, содержит ли этот конструктор данное поле).
    • Для поля синонима шаблона это имя синонима шаблона.
Экземпляры
Подробности экземпляров
Eq NameSpace Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: NameSpace -> NameSpace -> Bool Источник

(/=) :: NameSpace -> NameSpace -> Bool Источник

Ord NameSpace Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: NameSpace -> NameSpace -> Ordering Источник

(<) :: NameSpace -> NameSpace -> Bool Источник

(<=) :: NameSpace -> NameSpace -> Bool Источник

(>) :: NameSpace -> NameSpace -> Bool Источник

(>=) :: NameSpace -> NameSpace -> Bool Источник

max :: NameSpace -> NameSpace -> NameSpace Источник

min :: NameSpace -> NameSpace -> NameSpace Источник

Data NameSpace Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NameSpace -> c NameSpace Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NameSpace Источник

toConstr :: NameSpace -> Constr Источник

dataTypeOf :: NameSpace -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NameSpace) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NameSpace) Источник

gmapT :: (forall b. Data b => b -> b) -> NameSpace -> NameSpace Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NameSpace -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NameSpace -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> NameSpace -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> NameSpace -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NameSpace -> m NameSpace Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NameSpace -> m NameSpace Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NameSpace -> m NameSpace Источник

Generic NameSpace Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep NameSpace
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep NameSpace = D1 ('MetaData "NameSpace" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "VarName" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DataName" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TcClsName" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FldName" 'PrefixI 'True) (S1 ('MetaSel ('Just "fldParent") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 String))))

Методы

from :: NameSpace -> Rep NameSpace x Источник

to :: Rep NameSpace x -> NameSpace Источник

Show NameSpace Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> NameSpace -> ShowS Источник

show :: NameSpace -> String Источник

showList :: [NameSpace] -> ShowS Источник

Lift NameSpace Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => NameSpace -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => NameSpace -> Code m NameSpace Источник

type Rep NameSpace Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep NameSpace = D1 ('MetaData "NameSpace" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "VarName" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DataName" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TcClsName" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FldName" 'PrefixI 'True) (S1 ('MetaSel ('Just "fldParent") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 String))))

data NamespaceSpecifier Источник

Способ указать пространство имён, в котором следует искать источник имени, когда GHC требуется его найти

Конструкторы

NoNamespaceSpecifier

Имя может быть любым; если есть два имени в разных пространствах имён, следует рассматривать оба

TypeNamespaceSpecifier

Имя должно обозначать сущность уровня типов, например тип данных, псевдоним типа, семейство типов, класс типов или переменную типа

DataNamespaceSpecifier

Имя должно обозначать сущность уровня терминов, например функцию, конструктор данных или синоним шаблона

Экземпляры
Подробности экземпляров
Eq NamespaceSpecifier Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: NamespaceSpecifier -> NamespaceSpecifier -> Bool Источник

(/=) :: NamespaceSpecifier -> NamespaceSpecifier -> Bool Источник

Ord NamespaceSpecifier Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: NamespaceSpecifier -> NamespaceSpecifier -> Ordering Источник

(<) :: NamespaceSpecifier -> NamespaceSpecifier -> Bool Источник

(<=) :: NamespaceSpecifier -> NamespaceSpecifier -> Bool Источник

(>) :: NamespaceSpecifier -> NamespaceSpecifier -> Bool Источник

(>=) :: NamespaceSpecifier -> NamespaceSpecifier -> Bool Источник

max :: NamespaceSpecifier -> NamespaceSpecifier -> NamespaceSpecifier Источник

min :: NamespaceSpecifier -> NamespaceSpecifier -> NamespaceSpecifier Источник

Data NamespaceSpecifier Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NamespaceSpecifier -> c NamespaceSpecifier Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NamespaceSpecifier Источник

toConstr :: NamespaceSpecifier -> Constr Источник

dataTypeOf :: NamespaceSpecifier -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NamespaceSpecifier) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NamespaceSpecifier) Источник

gmapT :: (forall b. Data b => b -> b) -> NamespaceSpecifier -> NamespaceSpecifier Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NamespaceSpecifier -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NamespaceSpecifier -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> NamespaceSpecifier -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> NamespaceSpecifier -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NamespaceSpecifier -> m NamespaceSpecifier Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NamespaceSpecifier -> m NamespaceSpecifier Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NamespaceSpecifier -> m NamespaceSpecifier Источник

Generic NamespaceSpecifier Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep NamespaceSpecifier
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep NamespaceSpecifier = D1 ('MetaData "NamespaceSpecifier" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "NoNamespaceSpecifier" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TypeNamespaceSpecifier" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DataNamespaceSpecifier" 'PrefixI 'False) (U1 :: Type -> Type)))

Методы

from :: NamespaceSpecifier -> Rep NamespaceSpecifier x Источник

to :: Rep NamespaceSpecifier x -> NamespaceSpecifier Источник

Show NamespaceSpecifier Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> NamespaceSpecifier -> ShowS Источник

show :: NamespaceSpecifier -> String Источник

showList :: [NamespaceSpecifier] -> ShowS Источник

Lift NamespaceSpecifier Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => NamespaceSpecifier -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => NamespaceSpecifier -> Code m NamespaceSpecifier Источник

type Rep NamespaceSpecifier Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep NamespaceSpecifier = D1 ('MetaData "NamespaceSpecifier" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "NoNamespaceSpecifier" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TypeNamespaceSpecifier" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DataNamespaceSpecifier" 'PrefixI 'False) (U1 :: Type -> Type)))

newtype OccName Источник

«Имя вхождения».

Конструкторы

OccName String
Экземпляры
Сведения об экземплярах
Eq OccName Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: OccName -> OccName -> Bool Исходный код

(/=) :: OccName -> OccName -> Bool Исходный код

Ord OccName Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

compare :: OccName -> OccName -> Ordering Исходный код

(<) :: OccName -> OccName -> Bool Исходный код

(<=) :: OccName -> OccName -> Bool Исходный код

(>) :: OccName -> OccName -> Bool Исходный код

(>=) :: OccName -> OccName -> Bool Исходный код

max :: OccName -> OccName -> OccName Исходный код

min :: OccName -> OccName -> OccName Исходный код

Data OccName Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OccName -> c OccName Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c OccName Исходный код

toConstr :: OccName -> Constr Исходный код

dataTypeOf :: OccName -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c OccName) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c OccName) Исходный код

gmapT :: (forall b. Data b => b -> b) -> OccName -> OccName Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OccName -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OccName -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> OccName -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> OccName -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> OccName -> m OccName Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OccName -> m OccName Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OccName -> m OccName Исходный код

Generic OccName Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Ассоциированные типы

type Rep OccName
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep OccName = D1 ('MetaData "OccName" "GHC.Internal.TH.Syntax" "ghc-internal" 'True) (C1 ('MetaCons "OccName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Методы

from :: OccName -> Rep OccName x Исходный код

to :: Rep OccName x -> OccName Исходный код

Show OccName Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> OccName -> ShowS Исходный код

show :: OccName -> String Исходный код

showList :: [OccName] -> ShowS Исходный код

Lift OccName Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => OccName -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => OccName -> Code m OccName Исходный код

type Rep OccName Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep OccName = D1 ('MetaData "OccName" "GHC.Internal.TH.Syntax" "ghc-internal" 'True) (C1 ('MetaCons "OccName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

type ParentName = Name Исходный код

В ClassOpI и DataConI — имя родительского класса или типа

data PatSynArgs Исходный код

Тип аргументов синонима шаблона.

Конструкторы

PrefixPatSyn [Name]
pattern P {x y z} = p
InfixPatSyn Name Name
pattern {x P y} = p
RecordPatSyn [Name]
pattern P { {x,y,z} } = p
Экземпляры
Подробности экземпляров
Ppr PatSynArgs Исходный код
Подробности экземпляра

Определено в GHC.Boot.TH.Ppr

Методы

ppr :: PatSynArgs -> Doc Исходный код

ppr_list :: [PatSynArgs] -> Doc Исходный код

Eq PatSynArgs Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: PatSynArgs -> PatSynArgs -> Bool Исходный код

(/=) :: PatSynArgs -> PatSynArgs -> Bool Исходный код

Ord PatSynArgs Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

compare :: PatSynArgs -> PatSynArgs -> Ordering Исходный код

(<) :: PatSynArgs -> PatSynArgs -> Bool Исходный код

(<=) :: PatSynArgs -> PatSynArgs -> Bool Исходный код

(>) :: PatSynArgs -> PatSynArgs -> Bool Исходный код

(>=) :: PatSynArgs -> PatSynArgs -> Bool Исходный код

max :: PatSynArgs -> PatSynArgs -> PatSynArgs Исходный код

min :: PatSynArgs -> PatSynArgs -> PatSynArgs Исходный код

Data PatSynArgs Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PatSynArgs -> c PatSynArgs Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PatSynArgs Исходный код

toConstr :: PatSynArgs -> Constr Исходный код

dataTypeOf :: PatSynArgs -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PatSynArgs) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PatSynArgs) Исходный код

gmapT :: (forall b. Data b => b -> b) -> PatSynArgs -> PatSynArgs Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PatSynArgs -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PatSynArgs -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> PatSynArgs -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> PatSynArgs -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PatSynArgs -> m PatSynArgs Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PatSynArgs -> m PatSynArgs Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PatSynArgs -> m PatSynArgs Исходный код

Generic PatSynArgs Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Связанные типы

type Rep PatSynArgs
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep PatSynArgs = D1 ('MetaData "PatSynArgs" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "PrefixPatSyn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])) :+: (C1 ('MetaCons "InfixPatSyn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "RecordPatSyn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]))))

Методы

from :: PatSynArgs -> Rep PatSynArgs x Исходный код

to :: Rep PatSynArgs x -> PatSynArgs Исходный код

Show PatSynArgs Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> PatSynArgs -> ShowS Исходный код

show :: PatSynArgs -> String Исходный код

showList :: [PatSynArgs] -> ShowS Исходный код

Lift PatSynArgs Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => PatSynArgs -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => PatSynArgs -> Code m PatSynArgs Исходный код

type Rep PatSynArgs Исходный код
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

type Rep PatSynArgs = D1 ('MetaData "PatSynArgs" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "PrefixPatSyn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])) :+: (C1 ('MetaCons "InfixPatSyn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "RecordPatSyn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]))))

data PatSynDir Исходный код

Направленность синонима шаблона.

Конструкторы

Unidir
pattern P x {<-} p
ImplBidir
pattern P x {=} p
ExplBidir [Clause]
pattern P x {<-} p where P x = e
Экземпляры
Подробности экземпляров
Ppr PatSynDir Исходный код
Подробности экземпляра

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: PatSynDir -> Doc Исходный код

ppr_list :: [PatSynDir] -> Doc Исходный код

Eq PatSynDir Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: PatSynDir -> PatSynDir -> Bool Исходный код

(/=) :: PatSynDir -> PatSynDir -> Bool Исходный код

Ord PatSynDir Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: PatSynDir -> PatSynDir -> Ordering Исходный код

(<) :: PatSynDir -> PatSynDir -> Bool Исходный код

(<=) :: PatSynDir -> PatSynDir -> Bool Исходный код

(>) :: PatSynDir -> PatSynDir -> Bool Исходный код

(>=) :: PatSynDir -> PatSynDir -> Bool Исходный код

max :: PatSynDir -> PatSynDir -> PatSynDir Исходный код

min :: PatSynDir -> PatSynDir -> PatSynDir Исходный код

Data PatSynDir Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PatSynDir -> c PatSynDir Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PatSynDir Исходный код

toConstr :: PatSynDir -> Constr Исходный код

dataTypeOf :: PatSynDir -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PatSynDir) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PatSynDir) Исходный код

gmapT :: (forall b. Data b => b -> b) -> PatSynDir -> PatSynDir Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PatSynDir -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PatSynDir -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> PatSynDir -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> PatSynDir -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PatSynDir -> m PatSynDir Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PatSynDir -> m PatSynDir Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PatSynDir -> m PatSynDir Исходный код

Generic PatSynDir Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep PatSynDir
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep PatSynDir = D1 ('MetaData "PatSynDir" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Unidir" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ImplBidir" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExplBidir" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause]))))

Методы

from :: PatSynDir -> Rep PatSynDir x Исходный код

to :: Rep PatSynDir x -> PatSynDir Исходный код

Show PatSynDir Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> PatSynDir -> ShowS Исходный код

show :: PatSynDir -> String Исходный код

showList :: [PatSynDir] -> ShowS Исходный код

Lift PatSynDir Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => PatSynDir -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => PatSynDir -> Code m PatSynDir Исходный код

type Rep PatSynDir Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep PatSynDir = D1 ('MetaData "PatSynDir" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Unidir" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ImplBidir" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExplBidir" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause]))))

type PatSynType = Type Исходный код

Тип синонима образца. Обратите внимание, что полностью заданный тип синонима образца имеет необычную форму с двумя кванторами forall и двумя контекстами ограничений. Например, рассмотрим синоним образца

pattern P x1 x2 ... xn = <some-pattern>

Полный тип P имеет следующий вид

pattern P :: forall universals.   required constraints
          => forall existentials. provided constraints
          => t1 -> t2 -> ... -> tn -> t

состоящий из четырёх частей:

  1. (возможно, пустые списки) универсально квантифицированных переменных типов и обязательных ограничений на них.
  2. (возможно, пустые списки) экзистенциально квантифицированных переменных типов и предоставляемых ограничений на них.
  3. типы t1, t2, .., tn для x1, x2, .., xn соответственно
  4. тип t для <some-pattern>, в котором упоминаются только универсальные переменные.

Типы синонимов образцов взаимодействуют с TH при (a) reifying синонима образца, (b) pretty printing или (c) явном указании сигнатуры типа синонима образца:

  • Реификация всегда возвращает тип синонима шаблона, полностью заданный в абстрактном синтаксисе.
  • Pretty printing с помощью pprPatSynType однозначно сокращает тип синонима шаблона в конкретном синтаксисе: общее правило — выводить начальные пустые универсальные кванторы и обязательный контекст как () =>, если далее указаны экзистенциальные кванторы и предоставленный контекст. Если указаны только универсальные кванторы и их обязательный контекст, но нет экзистенциальных кванторов, выводятся только универсальные кванторы и их обязательный контекст. Если указаны оба компонента или ни один из них, выводятся оба компонента (или ни один).
  • При явном задании типа синонима шаблона с помощью PatSynSigD универсальные кванторы, экзистенциальные кванторы или их контексты можно оставить пустыми.

Дополнительную информацию о синонимах шаблонов и их типах см. в руководстве пользователя GHC: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#pattern-synonyms.

data Phases Source

Синтаксис управления фазами.

Конструкторы

AllPhases

Используется по умолчанию, если не указано иное

FromPhase Int
[n]
BeforePhase Int
[~n]
Экземпляры
Подробная информация об экземплярах
Ppr Phases Источник
Подробная информация об экземпляре

Определено в GHC.Boot.TH.Ppr

Методы

ppr :: Phases -> Doc Источник

ppr_list :: [Phases] -> Doc Источник

Eq Phases Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: Phases -> Phases -> Bool Источник

(/=) :: Phases -> Phases -> Bool Источник

Ord Phases Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

compare :: Phases -> Phases -> Ordering Источник

(<) :: Phases -> Phases -> Bool Источник

(<=) :: Phases -> Phases -> Bool Источник

(>) :: Phases -> Phases -> Bool Источник

(>=) :: Phases -> Phases -> Bool Источник

max :: Phases -> Phases -> Phases Источник

min :: Phases -> Phases -> Phases Источник

Data Phases Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Phases -> c Phases Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Phases Источник

toConstr :: Phases -> Constr Источник

dataTypeOf :: Phases -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Phases) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Phases) Источник

gmapT :: (forall b. Data b => b -> b) -> Phases -> Phases Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Phases -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Phases -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> Phases -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> Phases -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Phases -> m Phases Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Phases -> m Phases Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Phases -> m Phases Источник

Generic Phases Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Связанные типы

type Rep Phases
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

type Rep Phases = D1 ('MetaData "Phases" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "AllPhases" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "FromPhase" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "BeforePhase" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))

Методы

from :: Phases -> Rep Phases x Источник

to :: Rep Phases x -> Phases Источник

Show Phases Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Phases -> ShowS Источник

show :: Phases -> String Источник

showList :: [Phases] -> ShowS Источник

Lift Phases Источник

С версии: template-haskell-2.22.1.0

Подробная информация об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Phases -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Phases -> Code m Phases Источник

type Rep Phases Источник
Подробная информация об экземпляре

Определено в GHC.Internal.TH.Syntax

type Rep Phases = D1 ('MetaData "Phases" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "AllPhases" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "FromPhase" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "BeforePhase" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))

newtype PkgName Источник

Название пакета.

Конструкторы

PkgName String
Экземпляры
Подробности экземпляров
Eq PkgName Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: PkgName -> PkgName -> Bool Источник

(/=) :: PkgName -> PkgName -> Bool Источник

Ord PkgName Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

compare :: PkgName -> PkgName -> Ordering Источник

(<) :: PkgName -> PkgName -> Bool Источник

(<=) :: PkgName -> PkgName -> Bool Источник

(>) :: PkgName -> PkgName -> Bool Источник

(>=) :: PkgName -> PkgName -> Bool Источник

max :: PkgName -> PkgName -> PkgName Источник

min :: PkgName -> PkgName -> PkgName Источник

Data PkgName Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PkgName -> c PkgName Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PkgName Источник

toConstr :: PkgName -> Constr Источник

dataTypeOf :: PkgName -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PkgName) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PkgName) Источник

gmapT :: (forall b. Data b => b -> b) -> PkgName -> PkgName Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PkgName -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PkgName -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> PkgName -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> PkgName -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PkgName -> m PkgName Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PkgName -> m PkgName Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PkgName -> m PkgName Источник

Generic PkgName Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Ассоциированные типы

type Rep PkgName
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep PkgName = D1 ('MetaData "PkgName" "GHC.Internal.TH.Syntax" "ghc-internal" 'True) (C1 ('MetaCons "PkgName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Методы

from :: PkgName -> Rep PkgName x Источник

to :: Rep PkgName x -> PkgName Источник

Show PkgName Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> PkgName -> ShowS Источник

show :: PkgName -> String Источник

showList :: [PkgName] -> ShowS Источник

Lift PkgName Источник

С версии: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => PkgName -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => PkgName -> Code m PkgName Источник

type Rep PkgName Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep PkgName = D1 ('MetaData "PkgName" "GHC.Internal.TH.Syntax" "ghc-internal" 'True) (C1 ('MetaCons "PkgName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

data Pragma Источник

Конструкторы

InlineP Name Inline RuleMatch Phases

{ {-# [inline] [rule match] [phases] [phases] name #-} }. См. Inline и RuleMatch.

OpaqueP Name
{ {-# OPAQUE T #-} }
SpecialiseEP (Maybe [TyVarBndr ()]) [RuleBndr] Exp (Maybe Inline) Phases
{ {-# SPECIALISE [forall t_1 ... t_i]. [forall b_1 ... b_j] [INLINE] [phases] exp #-} }
SpecialiseInstP Type
{ {-# SPECIALISE instance I #-} }
RuleP String (Maybe [TyVarBndr ()]) [RuleBndr] Exp Exp Phases
{ {-# RULES "name" [phases] [forall t_1 ... t_i]. [forall b_1 ... b_j] rules... e_1 = e_2 #-} }
AnnP AnnTarget Exp
{ {-# ANN target exp #-} }
LineP Int String
{ {-# LINE n "file name" #-} }
CompleteP [Name] (Maybe Name)
{ {-# COMPLETE C_1, ..., C_i [ :: T ] #-} }
SCCP Name (Maybe String)
{ {-# SCC fun "optional_name" #-} }

Связанные шаблоны

pattern SpecialiseP :: Name -> Type -> Maybe Inline -> Phases -> Pragma

Прагма специализации старого формата { {-# SPECIALISE [INLINE] [phases] (var :: ty) #-} }.

Объединена с более общим конструктором SpecialiseEP.

Экземпляры
Подробности экземпляров
Ppr Pragma Исходный код
Подробности экземпляра

Определено в GHC.Boot.TH.Ppr

Методы

ppr :: Pragma -> Doc Исходный код

ppr_list :: [Pragma] -> Doc Исходный код

Eq Pragma Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: Pragma -> Pragma -> Bool Исходный код

(/=) :: Pragma -> Pragma -> Bool Исходный код

Ord Pragma Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

compare :: Pragma -> Pragma -> Ordering Исходный код

(<) :: Pragma -> Pragma -> Bool Исходный код

(<=) :: Pragma -> Pragma -> Bool Исходный код

(>) :: Pragma -> Pragma -> Bool Исходный код

(>=) :: Pragma -> Pragma -> Bool Исходный код

max :: Pragma -> Pragma -> Pragma Исходный код

min :: Pragma -> Pragma -> Pragma Исходный код

Data Pragma Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Pragma -> c Pragma Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Pragma Исходный код

toConstr :: Pragma -> Constr Исходный код

dataTypeOf :: Pragma -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Pragma) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Pragma) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Pragma -> Pragma Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Pragma -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Pragma -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Pragma -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Pragma -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Pragma -> m Pragma Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Pragma -> m Pragma Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Pragma -> m Pragma Исходный код

Generic Pragma Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Связанные типы

type Rep Pragma
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep Pragma = D1 ('MetaData "Pragma" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (((C1 ('MetaCons "InlineP" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Inline)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RuleMatch) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Phases))) :+: C1 ('MetaCons "OpaqueP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "SpecialiseEP" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBndr ()])) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RuleBndr])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Inline)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Phases)))) :+: C1 ('MetaCons "SpecialiseInstP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: ((C1 ('MetaCons "RuleP" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBndr ()])) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RuleBndr]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Inline)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Phases)))) :+: C1 ('MetaCons "AnnP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AnnTarget) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp))) :+: (C1 ('MetaCons "LineP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "CompleteP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Name))) :+: C1 ('MetaCons "SCCP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)))))))

Методы

from :: Pragma -> Rep Pragma x Исходный код

to :: Rep Pragma x -> Pragma Исходный код

Show Pragma Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Pragma -> ShowS Исходный код

show :: Pragma -> String Исходный код

showList :: [Pragma] -> ShowS Исходный код

Lift Pragma Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Pragma -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Pragma -> Code m Pragma Исходный код

type Rep Pragma Исходный код
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

type Rep Pragma = D1 ('MetaData "Pragma" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (((C1 ('MetaCons "InlineP" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Inline)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RuleMatch) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Phases))) :+: C1 ('MetaCons "OpaqueP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "SpecialiseEP" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBndr ()])) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RuleBndr])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Inline)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Phases)))) :+: C1 ('MetaCons "SpecialiseInstP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: ((C1 ('MetaCons "RuleP" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBndr ()])) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RuleBndr]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Phases)))) :+: C1 ('MetaCons "AnnP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AnnTarget) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp))) :+: (C1 ('MetaCons "LineP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "CompleteP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Name))) :+: C1 ('MetaCons "SCCP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)))))))

class (MonadIO m, MonadFail m) => Quasi (m :: Type -> Type) where Исходный код

Минимальное полное определение

qNewName, qReport, qRecover, qLookupName, qReify, qReifyFixity, qReifyType, qReifyInstances, qReifyRoles, qReifyAnnotations, qReifyModule, qReifyConStrictness, qLocation, qGetPackageRoot, qAddDependentFile, qAddTempFile, qAddTopDecls, qAddForeignFilePath, qAddModFinalizer, qAddCorePlugin, qGetQ, qPutQ, qIsExtEnabled, qExtsEnabled, qPutDoc, qGetDoc

Методы

qNewName :: String -> m Name Исходный код

Новые имена. См. newName.

qReport :: Bool -> String -> m () Исходный код

Сообщить об ошибке (True) или предупреждении (False) ...но продолжить выполнение; чтобы остановить выполнение, используйте fail. См. report.

qRecover Исходный код

Аргументы

:: m a

обработчик ошибок

-> m a

действие, которое может завершиться ошибкой

-> m a

Обработать ошибку в монаде fail

См. recover.

qLookupName :: Bool -> String -> m (Maybe Name) Исходный код

True = пространство имён типов, False = пространство имён значений. См. lookupName.

qReify :: Name -> m Info Исходный код

См. reify.

qReifyFixity :: Name -> m (Maybe Fixity) Исходный код

См. reifyFixity.

qReifyType :: Name -> m Type Исходный код

См. reifyType.

qReifyInstances :: Name -> [Type] -> m [Dec] Исходный код

Является ли (n tys) экземпляром? Возвращает список подходящих объявлений экземпляров Dec (с пустыми под-объявлениями). Работает для классов и функций типов. См. reifyInstances.

qReifyRoles :: Name -> m [Role] Исходный код

См. reifyRoles.

qReifyAnnotations :: Data a => AnnLookup -> m [a] Исходный код

См. reifyAnnotations.

qReifyModule :: Module -> m ModuleInfo Исходный код

См. reifyModule.

qReifyConStrictness :: Name -> m [DecidedStrictness] Исходный код

См. reifyConStrictness.

qLocation :: m Loc Исходный код

См. location.

qRunIO :: IO a -> m a Исходный код

Ввод-вывод (опасно). См. runIO.

qGetPackageRoot :: m FilePath Исходный код

См. getPackageRoot.

qAddDependentFile :: FilePath -> m () Исходный код

См. addDependentFile.

qAddTempFile :: String -> m FilePath Исходный код

См. addTempFile.

qAddTopDecls :: [Dec] -> m () Исходный код

См. addTopDecls.

qAddForeignFilePath :: ForeignSrcLang -> String -> m () Исходный код

См. addForeignFilePath.

qAddModFinalizer :: Q () -> m () Исходный код

См. addModFinalizer.

qAddCorePlugin :: String -> m () Исходный код

См. addCorePlugin.

qGetQ :: Typeable a => m (Maybe a) Исходный код

См. getQ.

qPutQ :: Typeable a => a -> m () Исходный код

См. putQ.

qIsExtEnabled :: Extension -> m Bool Исходный код

См. isExtEnabled.

qExtsEnabled :: m [Extension] Исходный код

См. extsEnabled.

qPutDoc :: DocLoc -> String -> m () Исходный код

См. putDoc.

qGetDoc :: DocLoc -> m (Maybe String) Исходный код

См. getDoc.

Экземпляры
Подробности экземпляров
Quasi Q Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

qNewName :: String -> Q Name Источник

qReport :: Bool -> String -> Q () Источник

qRecover :: Q a -> Q a -> Q a Источник

qLookupName :: Bool -> String -> Q (Maybe Name) Источник

qReify :: Name -> Q Info Источник

qReifyFixity :: Name -> Q (Maybe Fixity) Источник

qReifyType :: Name -> Q Type Источник

qReifyInstances :: Name -> [Type] -> Q [Dec] Источник

qReifyRoles :: Name -> Q [Role] Источник

qReifyAnnotations :: Data a => AnnLookup -> Q [a] Источник

qReifyModule :: Module -> Q ModuleInfo Источник

qReifyConStrictness :: Name -> Q [DecidedStrictness] Источник

qLocation :: Q Loc Источник

qRunIO :: IO a -> Q a Источник

qGetPackageRoot :: Q FilePath Источник

qAddDependentFile :: FilePath -> Q () Источник

qAddTempFile :: String -> Q FilePath Источник

qAddTopDecls :: [Dec] -> Q () Источник

qAddForeignFilePath :: ForeignSrcLang -> String -> Q () Источник

qAddModFinalizer :: Q () -> Q () Источник

qAddCorePlugin :: String -> Q () Источник

qGetQ :: Typeable a => Q (Maybe a) Источник

qPutQ :: Typeable a => a -> Q () Источник

qIsExtEnabled :: Extension -> Q Bool Источник

qExtsEnabled :: Q [Extension] Источник

qPutDoc :: DocLoc -> String -> Q () Источник

qGetDoc :: DocLoc -> Q (Maybe String) Источник

Quasi IO Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

qNewName :: String -> IO Name Источник

qReport :: Bool -> String -> IO () Источник

qRecover :: IO a -> IO a -> IO a Источник

qLookupName :: Bool -> String -> IO (Maybe Name) Источник

qReify :: Name -> IO Info Источник

qReifyFixity :: Name -> IO (Maybe Fixity) Источник

qReifyType :: Name -> IO Type Источник

qReifyInstances :: Name -> [Type] -> IO [Dec] Источник

qReifyRoles :: Name -> IO [Role] Источник

qReifyAnnotations :: Data a => AnnLookup -> IO [a] Источник

qReifyModule :: Module -> IO ModuleInfo Источник

qReifyConStrictness :: Name -> IO [DecidedStrictness] Источник

qLocation :: IO Loc Источник

qRunIO :: IO a -> IO a Источник

qGetPackageRoot :: IO FilePath Источник

qAddDependentFile :: FilePath -> IO () Источник

qAddTempFile :: String -> IO FilePath Источник

qAddTopDecls :: [Dec] -> IO () Источник

qAddForeignFilePath :: ForeignSrcLang -> String -> IO () Источник

qAddModFinalizer :: Q () -> IO () Источник

qAddCorePlugin :: String -> IO () Источник

qGetQ :: Typeable a => IO (Maybe a) Источник

qPutQ :: Typeable a => a -> IO () Источник

qIsExtEnabled :: Extension -> IO Bool Источник

qExtsEnabled :: IO [Extension] Источник

qPutDoc :: DocLoc -> String -> IO () Источник

qGetDoc :: DocLoc -> IO (Maybe String) Источник

data Range Источник

Выражение диапазона списка/перечисления.

Конструкторы

FromR Exp
[n ..]
FromThenR Exp Exp
[n, m ..]
FromToR Exp Exp
[n .. m]
FromThenToR Exp Exp Exp
[n, m .. k]
Экземпляры
Подробности экземпляров
Ppr Range Источник
Подробное описание экземпляра

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: Range -> Doc Источник

ppr_list :: [Range] -> Doc Источник

Eq Range Источник
Подробное описание экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Range -> Range -> Bool Источник

(/=) :: Range -> Range -> Bool Источник

Ord Range Источник
Подробное описание экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Range -> Range -> Ordering Источник

(<) :: Range -> Range -> Bool Источник

(<=) :: Range -> Range -> Bool Источник

(>) :: Range -> Range -> Bool Источник

(>=) :: Range -> Range -> Bool Источник

max :: Range -> Range -> Range Источник

min :: Range -> Range -> Range Источник

Data Range Источник
Подробное описание экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Range -> c Range Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Range Источник

toConstr :: Range -> Constr Источник

dataTypeOf :: Range -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Range) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Range) Источник

gmapT :: (forall b. Data b => b -> b) -> Range -> Range Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Range -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Range -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> Range -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> Range -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Range -> m Range Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Range -> m Range Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Range -> m Range Источник

Generic Range Источник
Подробное описание экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep Range
Подробное описание экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Range = D1 ('MetaData "Range" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "FromR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "FromThenR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp))) :+: (C1 ('MetaCons "FromToR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "FromThenToR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))))

Методы

from :: Range -> Rep Range x Источник

to :: Rep Range x -> Range Источник

Show Range Источник
Подробное описание экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Range -> ShowS Источник

show :: Range -> String Источник

showList :: [Range] -> ShowS Источник

Lift Range Источник

С версии: template-haskell-2.22.1.0

Подробное описание экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Range -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Range -> Code m Range Источник

type Rep Range Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep Range = D1 ('MetaData "Range" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "FromR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "FromThenR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp))) :+: (C1 ('MetaCons "FromToR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "FromThenToR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))))

data Role Исходный код

Аннотации ролей

Конструкторы

NominalR
nominal
RepresentationalR
representational
PhantomR
phantom
InferR
_
Экземпляры
Подробности экземпляров
Ppr Role Источник
Подробности экземпляра

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: Role -> Doc Источник

ppr_list :: [Role] -> Doc Источник

Eq Role Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Role -> Role -> Bool Источник

(/=) :: Role -> Role -> Bool Источник

Ord Role Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Role -> Role -> Ordering Источник

(<) :: Role -> Role -> Bool Источник

(<=) :: Role -> Role -> Bool Источник

(>) :: Role -> Role -> Bool Источник

(>=) :: Role -> Role -> Bool Источник

max :: Role -> Role -> Role Источник

min :: Role -> Role -> Role Источник

Data Role Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Role -> c Role Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Role Источник

toConstr :: Role -> Constr Источник

dataTypeOf :: Role -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Role) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Role) Источник

gmapT :: (forall b. Data b => b -> b) -> Role -> Role Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Role -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Role -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> Role -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> Role -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Role -> m Role Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Role -> m Role Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Role -> m Role Источник

Generic Role Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep Role
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Role = D1 ('MetaData "Role" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "NominalR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RepresentationalR" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "PhantomR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InferR" 'PrefixI 'False) (U1 :: Type -> Type)))

Методы

from :: Role -> Rep Role x Источник

to :: Rep Role x -> Role Источник

Show Role Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Role -> ShowS Источник

show :: Role -> String Источник

showList :: [Role] -> ShowS Источник

Lift Role Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Role -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Role -> Code m Role Источник

type Rep Role Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep Role = D1 ('MetaData "Role" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) ((C1 ('MetaCons "NominalR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RepresentationalR" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "PhantomR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InferR" 'PrefixI 'False) (U1 :: Type -> Type)))

data RuleMatch Источник

Модификатор CONLIKE, например одна из различных прагм inline или её отсутствие (FunLike).

Конструкторы

ConLike
{ {-# CONLIKE [inline] ... #-} }
FunLike
{ {-# [inline] ... #-} }
Экземпляры
Сведения об экземплярах
Ppr RuleMatch Источник
Сведения об экземпляре

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: RuleMatch -> Doc Источник

ppr_list :: [RuleMatch] -> Doc Источник

Eq RuleMatch Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: RuleMatch -> RuleMatch -> Bool Источник

(/=) :: RuleMatch -> RuleMatch -> Bool Источник

Ord RuleMatch Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

compare :: RuleMatch -> RuleMatch -> Ordering Источник

(<) :: RuleMatch -> RuleMatch -> Bool Источник

(<=) :: RuleMatch -> RuleMatch -> Bool Источник

(>) :: RuleMatch -> RuleMatch -> Bool Источник

(>=) :: RuleMatch -> RuleMatch -> Bool Источник

max :: RuleMatch -> RuleMatch -> RuleMatch Источник

min :: RuleMatch -> RuleMatch -> RuleMatch Источник

Data RuleMatch Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RuleMatch -> c RuleMatch Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RuleMatch Источник

toConstr :: RuleMatch -> Constr Источник

dataTypeOf :: RuleMatch -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RuleMatch) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RuleMatch) Источник

gmapT :: (forall b. Data b => b -> b) -> RuleMatch -> RuleMatch Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RuleMatch -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RuleMatch -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> RuleMatch -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> RuleMatch -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RuleMatch -> m RuleMatch Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RuleMatch -> m RuleMatch Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RuleMatch -> m RuleMatch Источник

Generic RuleMatch Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep RuleMatch
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep RuleMatch = D1 ('MetaData "RuleMatch" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "ConLike" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FunLike" 'PrefixI 'False) (U1 :: Type -> Type))

Методы

from :: RuleMatch -> Rep RuleMatch x Источник

to :: Rep RuleMatch x -> RuleMatch Источник

Show RuleMatch Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> RuleMatch -> ShowS Источник

show :: RuleMatch -> String Источник

showList :: [RuleMatch] -> ShowS Источник

Lift RuleMatch Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => RuleMatch -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => RuleMatch -> Code m RuleMatch Источник

type Rep RuleMatch Источник
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep RuleMatch = D1 ('MetaData "RuleMatch" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "ConLike" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FunLike" 'PrefixI 'False) (U1 :: Type -> Type))

data Safety Источник

Уровень безопасности, как в объявлении Foreign.

Конструкторы

Unsafe
Safe
Interruptible
Экземпляры
Сведения об экземплярах
Eq Safety Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: Safety -> Safety -> Bool Исходный код

(/=) :: Safety -> Safety -> Bool Исходный код

Ord Safety Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

compare :: Safety -> Safety -> Ordering Исходный код

(<) :: Safety -> Safety -> Bool Исходный код

(<=) :: Safety -> Safety -> Bool Исходный код

(>) :: Safety -> Safety -> Bool Исходный код

(>=) :: Safety -> Safety -> Bool Исходный код

max :: Safety -> Safety -> Safety Исходный код

min :: Safety -> Safety -> Safety Исходный код

Data Safety Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Safety -> c Safety Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Safety Исходный код

toConstr :: Safety -> Constr Исходный код

dataTypeOf :: Safety -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Safety) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Safety) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Safety -> Safety Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Safety -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Safety -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Safety -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Safety -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Safety -> m Safety Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Safety -> m Safety Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Safety -> m Safety Исходный код

Generic Safety Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep Safety
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep Safety = D1 ('MetaData "Safety" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Unsafe" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Safe" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Interruptible" 'PrefixI 'False) (U1 :: Type -> Type)))

Методы

from :: Safety -> Rep Safety x Исходный код

to :: Rep Safety x -> Safety Исходный код

Show Safety Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Safety -> ShowS Исходный код

show :: Safety -> String Исходный код

showList :: [Safety] -> ShowS Исходный код

Lift Safety Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Safety -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Safety -> Code m Safety Исходный код

type Rep Safety Исходный код
Сведения об экземпляре

Определён в GHC.Internal.TH.Syntax

type Rep Safety = D1 ('MetaData "Safety" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "Unsafe" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Safe" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Interruptible" 'PrefixI 'False) (U1 :: Type -> Type)))

data SourceStrictness Исходный код

SourceStrictness соответствует аннотациям строгости, найденным в исходном коде.

Они могут не совпадать с аннотациями, возвращаемыми reifyConStrictness. Дополнительные сведения см. в reifyConStrictness.

Конструкторы

NoSourceStrictness
C a
SourceLazy
C {~}a
SourceStrict
C {!}a
Экземпляры
Подробности экземпляров
Ppr SourceStrictness Исходный код
Подробности экземпляра

Определено в GHC.Boot.TH.Ppr

Методы

ppr :: SourceStrictness -> Doc Исходный код

ppr_list :: [SourceStrictness] -> Doc Исходный код

Eq SourceStrictness Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: SourceStrictness -> SourceStrictness -> Bool Исходный код

(/=) :: SourceStrictness -> SourceStrictness -> Bool Исходный код

Ord SourceStrictness Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

compare :: SourceStrictness -> SourceStrictness -> Ordering Исходный код

(<) :: SourceStrictness -> SourceStrictness -> Bool Исходный код

(<=) :: SourceStrictness -> SourceStrictness -> Bool Исходный код

(>) :: SourceStrictness -> SourceStrictness -> Bool Исходный код

(>=) :: SourceStrictness -> SourceStrictness -> Bool Исходный код

max :: SourceStrictness -> SourceStrictness -> SourceStrictness Исходный код

min :: SourceStrictness -> SourceStrictness -> SourceStrictness Исходный код

Data SourceStrictness Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourceStrictness -> c SourceStrictness Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourceStrictness Исходный код

toConstr :: SourceStrictness -> Constr Исходный код

dataTypeOf :: SourceStrictness -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourceStrictness) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourceStrictness) Исходный код

gmapT :: (forall b. Data b => b -> b) -> SourceStrictness -> SourceStrictness Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourceStrictness -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourceStrictness -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> SourceStrictness -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> SourceStrictness -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness Исходный код

Generic SourceStrictness Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Ассоциированные типы

type Rep SourceStrictness
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep SourceStrictness = D1 ('MetaData "SourceStrictness" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "NoSourceStrictness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceStrict" 'PrefixI 'False) (U1 :: Type -> Type)))

Методы

from :: SourceStrictness -> Rep SourceStrictness x Исходный код

to :: Rep SourceStrictness x -> SourceStrictness Исходный код

Show SourceStrictness Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> SourceStrictness -> ShowS Исходный код

show :: SourceStrictness -> String Исходный код

showList :: [SourceStrictness] -> ShowS Исходный код

Lift SourceStrictness Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => SourceStrictness -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => SourceStrictness -> Code m SourceStrictness Исходный код

type Rep SourceStrictness Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep SourceStrictness = D1 ('MetaData "SourceStrictness" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "NoSourceStrictness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceStrict" 'PrefixI 'False) (U1 :: Type -> Type)))

data SourceUnpackedness Исходный код

SourceUnpackedness соответствует аннотациям распаковки, встречающимся в исходном коде.

Они могут не совпадать с аннотациями, возвращаемыми reifyConStrictness. Дополнительные сведения см. в reifyConStrictness.

Конструкторы

NoSourceUnpackedness
C a
SourceNoUnpack
C { {-# NOUNPACK #-} } a
SourceUnpack
C { {-# UNPACK #-} } a
Экземпляры
Подробности экземпляров
Ppr SourceUnpackedness Исходный код
Подробности экземпляра

Определено в GHC.Boot.TH.Ppr

Методы

ppr :: SourceUnpackedness -> Doc Исходный код

ppr_list :: [SourceUnpackedness] -> Doc Исходный код

Eq SourceUnpackedness Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: SourceUnpackedness -> SourceUnpackedness -> Bool Исходный код

(/=) :: SourceUnpackedness -> SourceUnpackedness -> Bool Исходный код

Ord SourceUnpackedness Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

compare :: SourceUnpackedness -> SourceUnpackedness -> Ordering Исходный код

(<) :: SourceUnpackedness -> SourceUnpackedness -> Bool Исходный код

(<=) :: SourceUnpackedness -> SourceUnpackedness -> Bool Исходный код

(>) :: SourceUnpackedness -> SourceUnpackedness -> Bool Исходный код

(>=) :: SourceUnpackedness -> SourceUnpackedness -> Bool Исходный код

max :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness Исходный код

min :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness Исходный код

Data SourceUnpackedness Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourceUnpackedness -> c SourceUnpackedness Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourceUnpackedness Исходный код

toConstr :: SourceUnpackedness -> Constr Исходный код

dataTypeOf :: SourceUnpackedness -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourceUnpackedness) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourceUnpackedness) Исходный код

gmapT :: (forall b. Data b => b -> b) -> SourceUnpackedness -> SourceUnpackedness Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourceUnpackedness -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourceUnpackedness -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> SourceUnpackedness -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> SourceUnpackedness -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness Исходный код

Generic SourceUnpackedness Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Ассоциированные типы

type Rep SourceUnpackedness
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep SourceUnpackedness = D1 ('MetaData "SourceUnpackedness" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "NoSourceUnpackedness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceNoUnpack" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceUnpack" 'PrefixI 'False) (U1 :: Type -> Type)))

Методы

from :: SourceUnpackedness -> Rep SourceUnpackedness x Исходный код

to :: Rep SourceUnpackedness x -> SourceUnpackedness Исходный код

Show SourceUnpackedness Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> SourceUnpackedness -> ShowS Исходный код

show :: SourceUnpackedness -> String Исходный код

showList :: [SourceUnpackedness] -> ShowS Исходный код

Lift SourceUnpackedness Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => SourceUnpackedness -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => SourceUnpackedness -> Code m SourceUnpackedness Исходный код

type Rep SourceUnpackedness Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep SourceUnpackedness = D1 ('MetaData "SourceUnpackedness" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "NoSourceUnpackedness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceNoUnpack" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceUnpack" 'PrefixI 'False) (U1 :: Type -> Type)))

data Specificity Исходный код

Специфичность переменной типа в forall ....

Конструкторы

SpecifiedSpec
a
InferredSpec
{a}
Экземпляры
Сведения об экземплярах
PprFlag Specificity Исходный код
Сведения об экземпляре

Определено в GHC.Boot.TH.Ppr

Методы

pprTyVarBndr :: TyVarBndr Specificity -> Doc Исходный код

Eq Specificity Исходный код
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: Specificity -> Specificity -> Bool Исходный код

(/=) :: Specificity -> Specificity -> Bool Исходный код

Ord Specificity Исходный код
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

compare :: Specificity -> Specificity -> Ordering Исходный код

(<) :: Specificity -> Specificity -> Bool Исходный код

(<=) :: Specificity -> Specificity -> Bool Исходный код

(>) :: Specificity -> Specificity -> Bool Исходный код

(>=) :: Specificity -> Specificity -> Bool Исходный код

max :: Specificity -> Specificity -> Specificity Исходный код

min :: Specificity -> Specificity -> Specificity Исходный код

Data Specificity Исходный код
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Specificity -> c Specificity Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Specificity Исходный код

toConstr :: Specificity -> Constr Исходный код

dataTypeOf :: Specificity -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Specificity) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Specificity) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Specificity -> Specificity Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Specificity -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Specificity -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Specificity -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Specificity -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Specificity -> m Specificity Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Specificity -> m Specificity Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Specificity -> m Specificity Исходный код

Generic Specificity Исходный код
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Ассоциированные типы

type Rep Specificity
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

type Rep Specificity = D1 ('MetaData "Specificity" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "SpecifiedSpec" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InferredSpec" 'PrefixI 'False) (U1 :: Type -> Type))

Методы

from :: Specificity -> Rep Specificity x Исходный код

to :: Rep Specificity x -> Specificity Исходный код

Show Specificity Исходный код
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> Specificity -> ShowS Исходный код

show :: Specificity -> String Исходный код

showList :: [Specificity] -> ShowS Исходный код

DefaultBndrFlag Specificity Исходный код
Сведения об экземпляре

Определено в Language.Haskell.TH.Lib

Методы

defaultBndrFlag :: Specificity Исходный код

Lift Specificity Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Specificity -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Specificity -> Code m Specificity Исходный код

type Rep Specificity Исходный код
Сведения об экземпляре

Определено в GHC.Internal.TH.Syntax

type Rep Specificity = D1 ('MetaData "Specificity" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "SpecifiedSpec" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InferredSpec" 'PrefixI 'False) (U1 :: Type -> Type))

type Strict = Bang Исходный код

Начиная с template-haskell-2.11.0.0, Strict заменён на Bang.

type StrictType = BangType Исходный код

Начиная с template-haskell-2.11.0.0, StrictType заменён на BangType.

type SumAlt = Int Исходный код

В UnboxedSumE и UnboxedSumP — номер, связанный с определённым конструктором данных. Нумерация SumAlt начинается с единицы, и это значение не должно превышать значение соответствующего SumArity. Например:

  • У (#_|#) значение SumAlt равно 1 (из общего SumArity, равного 2)
  • У (#|_#) значение SumAlt равно 2 (из общего SumArity, равного 2)

type SumArity = Int Исходный код

В UnboxedSumE, UnboxedSumT и UnboxedSumP — общее количество SumAlt. Например, значение SumArity для (#|#) равно 2.

newtype TExp (a :: TYPE r) Исходный код

Типизированная обёртка вокруг Exp.

Это типизированное представление термов, создаваемых типизированными кавычками.

Полиморфный по представлению начиная с template-haskell-2.16.0.0.

Конструкторы

TExp

Поля

  • unType :: Exp

    Исходное нетипизированное выражение Template Haskell

Экземпляры
Подробности экземпляров
Lift (TExp a :: Type) Источник

С версии: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => TExp a -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => TExp a -> Code m (TExp a) Источник

data TyLit Источник

Литералы уровня типов.

Конструкторы

NumTyLit Integer
2
StrTyLit String
"Hello"
CharTyLit Char

'C', с версии 4.16.0.0

Экземпляры
Подробности экземпляров
Ppr TyLit Источник
Подробности экземпляра

Определено в GHC.Boot.TH.Ppr

Методы

ppr :: TyLit -> Doc Источник

ppr_list :: [TyLit] -> Doc Источник

Eq TyLit Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

(==) :: TyLit -> TyLit -> Bool Источник

(/=) :: TyLit -> TyLit -> Bool Источник

Ord TyLit Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

compare :: TyLit -> TyLit -> Ordering Источник

(<) :: TyLit -> TyLit -> Bool Источник

(<=) :: TyLit -> TyLit -> Bool Источник

(>) :: TyLit -> TyLit -> Bool Источник

(>=) :: TyLit -> TyLit -> Bool Источник

max :: TyLit -> TyLit -> TyLit Источник

min :: TyLit -> TyLit -> TyLit Источник

Data TyLit Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TyLit -> c TyLit Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TyLit Источник

toConstr :: TyLit -> Constr Источник

dataTypeOf :: TyLit -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TyLit) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TyLit) Источник

gmapT :: (forall b. Data b => b -> b) -> TyLit -> TyLit Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TyLit -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TyLit -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> TyLit -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> TyLit -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TyLit -> m TyLit Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TyLit -> m TyLit Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TyLit -> m TyLit Источник

Generic TyLit Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Связанные типы

type Rep TyLit
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep TyLit = D1 ('MetaData "TyLit" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "NumTyLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: (C1 ('MetaCons "StrTyLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "CharTyLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char))))

Методы

from :: TyLit -> Rep TyLit x Источник

to :: Rep TyLit x -> TyLit Источник

Show TyLit Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> TyLit -> ShowS Источник

show :: TyLit -> String Источник

showList :: [TyLit] -> ShowS Источник

Lift TyLit Источник

С версии: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => TyLit -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => TyLit -> Code m TyLit Источник

type Rep TyLit Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep TyLit = D1 ('MetaData "TyLit" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "NumTyLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: (C1 ('MetaCons "StrTyLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "CharTyLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char))))

data TyVarBndr flag Исходный код

Параметр типа flag задаётся одним из следующих типов:

  • Specificity (примеры: ForallC, ForallT)
  • BndrVis (примеры: DataD, ClassD и т. д.)
  • () — универсальный тип для других форм связующих, включая ForallVisT, DataInstD, RuleP и TyVarSig

Конструкторы

PlainTV Name flag
a
KindedTV Name flag Kind
(a :: k)
Экземпляры
Подробности экземпляров
Functor TyVarBndr Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

fmap :: (a -> b) -> TyVarBndr a -> TyVarBndr b Источник

(<$) :: a -> TyVarBndr b -> TyVarBndr a Источник

Foldable TyVarBndr Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

fold :: Monoid m => TyVarBndr m -> m Источник

foldMap :: Monoid m => (a -> m) -> TyVarBndr a -> m Источник

foldMap' :: Monoid m => (a -> m) -> TyVarBndr a -> m Источник

foldr :: (a -> b -> b) -> b -> TyVarBndr a -> b Источник

foldr' :: (a -> b -> b) -> b -> TyVarBndr a -> b Источник

foldl :: (b -> a -> b) -> b -> TyVarBndr a -> b Источник

foldl' :: (b -> a -> b) -> b -> TyVarBndr a -> b Источник

foldr1 :: (a -> a -> a) -> TyVarBndr a -> a Источник

foldl1 :: (a -> a -> a) -> TyVarBndr a -> a Источник

toList :: TyVarBndr a -> [a] Источник

null :: TyVarBndr a -> Bool Источник

length :: TyVarBndr a -> Int Источник

elem :: Eq a => a -> TyVarBndr a -> Bool Источник

maximum :: Ord a => TyVarBndr a -> a Источник

minimum :: Ord a => TyVarBndr a -> a Источник

sum :: Num a => TyVarBndr a -> a Источник

product :: Num a => TyVarBndr a -> a Источник

Traversable TyVarBndr Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

traverse :: Applicative f => (a -> f b) -> TyVarBndr a -> f (TyVarBndr b) Источник

sequenceA :: Applicative f => TyVarBndr (f a) -> f (TyVarBndr a) Источник

mapM :: Monad m => (a -> m b) -> TyVarBndr a -> m (TyVarBndr b) Источник

sequence :: Monad m => TyVarBndr (m a) -> m (TyVarBndr a) Источник

Lift a => Lift (TyVarBndr a :: Type) Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => TyVarBndr a -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => TyVarBndr a -> Code m (TyVarBndr a) Источник

PprFlag flag => Ppr (TyVarBndr flag) Источник
Подробности экземпляра

Определён в GHC.Boot.TH.Ppr

Методы

ppr :: TyVarBndr flag -> Doc Источник

ppr_list :: [TyVarBndr flag] -> Doc Источник

Eq flag => Eq (TyVarBndr flag) Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: TyVarBndr flag -> TyVarBndr flag -> Bool Источник

(/=) :: TyVarBndr flag -> TyVarBndr flag -> Bool Источник

Ord flag => Ord (TyVarBndr flag) Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: TyVarBndr flag -> TyVarBndr flag -> Ordering Источник

(<) :: TyVarBndr flag -> TyVarBndr flag -> Bool Источник

(<=) :: TyVarBndr flag -> TyVarBndr flag -> Bool Источник

(>) :: TyVarBndr flag -> TyVarBndr flag -> Bool Источник

(>=) :: TyVarBndr flag -> TyVarBndr flag -> Bool Источник

max :: TyVarBndr flag -> TyVarBndr flag -> TyVarBndr flag Источник

min :: TyVarBndr flag -> TyVarBndr flag -> TyVarBndr flag Источник

Data flag => Data (TyVarBndr flag) Источник
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TyVarBndr flag -> c (TyVarBndr flag) Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (TyVarBndr flag) Источник

toConstr :: TyVarBndr flag -> Constr Источник

dataTypeOf :: TyVarBndr flag -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (TyVarBndr flag)) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (TyVarBndr flag)) Источник

gmapT :: (forall b. Data b => b -> b) -> TyVarBndr flag -> TyVarBndr flag Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TyVarBndr flag -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TyVarBndr flag -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> TyVarBndr flag -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> TyVarBndr flag -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TyVarBndr flag -> m (TyVarBndr flag) Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TyVarBndr flag -> m (TyVarBndr flag) Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TyVarBndr flag -> m (TyVarBndr flag) Источник

Generic (TyVarBndr flag) Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Ассоциированные типы

type Rep (TyVarBndr flag)
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep (TyVarBndr flag) = D1 ('MetaData "TyVarBndr" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "PlainTV" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 flag)) :+: C1 ('MetaCons "KindedTV" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 flag) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind))))

Методы

from :: TyVarBndr flag -> Rep (TyVarBndr flag) x Источник

to :: Rep (TyVarBndr flag) x -> TyVarBndr flag Источник

Show flag => Show (TyVarBndr flag) Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> TyVarBndr flag -> ShowS Источник

show :: TyVarBndr flag -> String Источник

showList :: [TyVarBndr flag] -> ShowS Источник

type Rep (TyVarBndr flag) Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep (TyVarBndr flag) = D1 ('MetaData "TyVarBndr" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "PlainTV" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 flag)) :+: C1 ('MetaCons "KindedTV" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 flag) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind))))

data TypeFamilyHead Источник

Общие элементы OpenTypeFamilyD и ClosedTypeFamilyD. По аналогии с «заголовком» для классов типов и экземпляров классов типов, как это определено в статье Классы типов: исследование пространства проектирования, TypeFamilyHead определяется как элементы объявления между type family и where.

Конструкторы

TypeFamilyHead Name [TyVarBndr BndrVis] FamilyResultSig (Maybe InjectivityAnn)
Экземпляры
Подробности экземпляров
Eq TypeFamilyHead Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

(==) :: TypeFamilyHead -> TypeFamilyHead -> Bool Исходный код

(/=) :: TypeFamilyHead -> TypeFamilyHead -> Bool Исходный код

Ord TypeFamilyHead Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

compare :: TypeFamilyHead -> TypeFamilyHead -> Ordering Исходный код

(<) :: TypeFamilyHead -> TypeFamilyHead -> Bool Исходный код

(<=) :: TypeFamilyHead -> TypeFamilyHead -> Bool Исходный код

(>) :: TypeFamilyHead -> TypeFamilyHead -> Bool Исходный код

(>=) :: TypeFamilyHead -> TypeFamilyHead -> Bool Исходный код

max :: TypeFamilyHead -> TypeFamilyHead -> TypeFamilyHead Исходный код

min :: TypeFamilyHead -> TypeFamilyHead -> TypeFamilyHead Исходный код

Data TypeFamilyHead Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TypeFamilyHead -> c TypeFamilyHead Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TypeFamilyHead Исходный код

toConstr :: TypeFamilyHead -> Constr Исходный код

dataTypeOf :: TypeFamilyHead -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TypeFamilyHead) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TypeFamilyHead) Исходный код

gmapT :: (forall b. Data b => b -> b) -> TypeFamilyHead -> TypeFamilyHead Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TypeFamilyHead -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TypeFamilyHead -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> TypeFamilyHead -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> TypeFamilyHead -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TypeFamilyHead -> m TypeFamilyHead Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeFamilyHead -> m TypeFamilyHead Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeFamilyHead -> m TypeFamilyHead Исходный код

Generic TypeFamilyHead Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Связанные типы

type Rep TypeFamilyHead
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

type Rep TypeFamilyHead = D1 ('MetaData "TypeFamilyHead" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "TypeFamilyHead" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FamilyResultSig) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe InjectivityAnn)))))

Методы

from :: TypeFamilyHead -> Rep TypeFamilyHead x Исходный код

to :: Rep TypeFamilyHead x -> TypeFamilyHead Исходный код

Show TypeFamilyHead Исходный код
Подробности экземпляра

Определён в GHC.Internal.TH.Syntax

Методы

showsPrec :: Int -> TypeFamilyHead -> ShowS Исходный код

show :: TypeFamilyHead -> String Исходный код

showList :: [TypeFamilyHead] -> ShowS Исходный код

Lift TypeFamilyHead Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => TypeFamilyHead -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => TypeFamilyHead -> Code m TypeFamilyHead Исходный код

type Rep TypeFamilyHead Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Syntax

type Rep TypeFamilyHead = D1 ('MetaData "TypeFamilyHead" "GHC.Internal.TH.Syntax" "ghc-internal" 'False) (C1 ('MetaCons "TypeFamilyHead" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FamilyResultSig) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe InjectivityAnn)))))

type Uniq = Integer Источник

Uniq используется GHC для различения имён.

type Unlifted = Bool Источник

В PrimTyConI является ли конструктор типа непродвигаемым?

type VarStrictType = VarBangType Источник

Начиная с template-haskell-2.11.0.0, VarStrictType заменён на VarBangType.

makeRelativeToProject :: FilePath -> Q FilePath Источник

Входное значение — путь к файлу; если он относительный, он отсчитывается от корня пакета.

liftString :: Quote m => String -> m Exp Источник

class Lift (t :: TYPE r) where Источник

Для экземпляра Lift любое из его значений можно преобразовать в выражение Template Haskell. Это необходимо, когда значение, используемое в цитате Template Haskell, связано вне оксфордских скобок ([| ... |] или [|| ... ||]), но не на верхнем уровне. Например:

add1 :: Int -> Code Q Int
add1 x = [|| x + 1 ||]

Template Haskell не может знать, какое значение примет x во время подстановки, поэтому требует, чтобы тип x был экземпляром Lift.

Экземпляр Lift должен удовлетворять $(lift x) ≡ x и $$(liftTyped x) ≡ x для всех x, где $(...) и $$(...) — подстановки Template Haskell. Кроме того, предполагается, что lift x ≡ unTypeCode (liftTyped x).

Экземпляры Lift можно автоматически выводить с помощью языкового расширения GHC -XDeriveLift:

{-# LANGUAGE DeriveLift #-}
module Foo where

import Language.Haskell.TH.Syntax

data Bar a = Bar1 a (Bar a) | Bar2 String
  deriving Lift

Полиморфный по представлению, начиная с template-haskell-2.16.0.0.

Этот интерфейс доступен как из пакета template-haskell-lift, так и из пакета template-haskell. Если вам не нужен весь интерфейс template-haskell, рассмотрите возможность импорта из более стабильного пакета template-haskell-lift.

Минимальное полное определение

liftTyped

Методы

lift :: Quote m => t -> m Exp Источник

Преобразует значение в выражение Template Haskell, пригодное для использования в подстановке.

default lift :: forall m. (r ~ LiftedRep, Quote m) => t -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => t -> Code m t Источник

Преобразует значение в типизированное выражение Template Haskell, пригодное для использования в типизированной подстановке.

Начиная с: template-haskell-2.16.0.0

Экземпляры
Подробности экземпляров
Lift Addr# Исходный код

Создаёт литерал Addr# из завершающейся NUL-символом строки C, начинающейся по указанному адресу памяти.

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Addr# -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Addr# -> Code m Addr# Исходный код

Lift Double# Исходный код

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Double# -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Double# -> Code m Double# Исходный код

Lift Float# Исходный код

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Float# -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Float# -> Code m Float# Исходный код

Lift Int# Исходный код

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Int# -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Int# -> Code m Int# Исходный код

Lift ByteArray Исходный код
Подробности экземпляра

Определено в Data.Array.Byte

Методы

lift :: Quote m => ByteArray -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => ByteArray -> Code m ByteArray Исходный код

Lift Void Исходный код

Начиная с: template-haskell-2.15.0.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Void -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Void -> Code m Void Исходный код

Lift ForeignSrcLang Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => ForeignSrcLang -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => ForeignSrcLang -> Code m ForeignSrcLang Исходный код

Lift Int16 Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Int16 -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Int16 -> Code m Int16 Исходный код

Lift Int32 Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Int32 -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Int32 -> Code m Int32 Исходный код

Lift Int64 Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Int64 -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Int64 -> Code m Int64 Исходный код

Lift Int8 Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Int8 -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Int8 -> Code m Int8 Исходный код

Lift Extension Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Extension -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Extension -> Code m Extension Исходный код

Lift AnnLookup Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => AnnLookup -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => AnnLookup -> Code m AnnLookup Исходный код

Lift AnnTarget Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => AnnTarget -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => AnnTarget -> Code m AnnTarget Исходный код

Lift Bang Исходный код

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Bang -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Bang -> Code m Bang Исходный код

Lift BndrVis Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => BndrVis -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => BndrVis -> Code m BndrVis Источник

Lift Body Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Body -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Body -> Code m Body Источник

Lift Bytes Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Bytes -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Bytes -> Code m Bytes Источник

Lift Callconv Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Callconv -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Callconv -> Code m Callconv Источник

Lift Clause Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Clause -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Clause -> Code m Clause Источник

Lift Con Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Con -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Con -> Code m Con Источник

Lift Dec Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Dec -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Dec -> Code m Dec Источник

Lift DecidedStrictness Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => DecidedStrictness -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => DecidedStrictness -> Code m DecidedStrictness Источник

Lift DerivClause Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => DerivClause -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => DerivClause -> Code m DerivClause Источник

Lift DerivStrategy Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => DerivStrategy -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => DerivStrategy -> Code m DerivStrategy Источник

Lift DocLoc Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => DocLoc -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => DocLoc -> Code m DocLoc Источник

Lift Exp Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Exp -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Exp -> Code m Exp Источник

Lift FamilyResultSig Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => FamilyResultSig -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => FamilyResultSig -> Code m FamilyResultSig Источник

Lift Fixity Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Fixity -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Fixity -> Code m Fixity Источник

Lift FixityDirection Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => FixityDirection -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => FixityDirection -> Code m FixityDirection Источник

Lift Foreign Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Foreign -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Foreign -> Code m Foreign Источник

Lift FunDep Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => FunDep -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => FunDep -> Code m FunDep Источник

Lift Guard Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Guard -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Guard -> Code m Guard Источник

Lift Info Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Info -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Info -> Code m Info Источник

Lift InjectivityAnn Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => InjectivityAnn -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => InjectivityAnn -> Code m InjectivityAnn Источник

Lift Inline Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Inline -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Inline -> Code m Inline Источник

Lift Lit Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Lit -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Lit -> Code m Lit Источник

Lift Loc Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Loc -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Loc -> Code m Loc Источник

Lift Match Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Match -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Match -> Code m Match Источник

Lift ModName Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => ModName -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => ModName -> Code m ModName Источник

Lift Module Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Module -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Module -> Code m Module Источник

Lift Name Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Name -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Name -> Code m Name Источник

Lift NameFlavour Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => NameFlavour -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => NameFlavour -> Code m NameFlavour Источник

Lift NameIs Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => NameIs -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => NameIs -> Code m NameIs Источник

Lift NameSpace Источник

Начиная с: template-haskell-2.22.1.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => NameSpace -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => NameSpace -> Code m NameSpace Источник

Lift NamespaceSpecifier Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => NamespaceSpecifier -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => NamespaceSpecifier -> Code m NamespaceSpecifier Исходный код

Lift OccName Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => OccName -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => OccName -> Code m OccName Исходный код

Lift Overlap Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Overlap -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Overlap -> Code m Overlap Исходный код

Lift Pat Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Pat -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Pat -> Code m Pat Исходный код

Lift PatSynArgs Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => PatSynArgs -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => PatSynArgs -> Code m PatSynArgs Исходный код

Lift PatSynDir Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => PatSynDir -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => PatSynDir -> Code m PatSynDir Исходный код

Lift Phases Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Phases -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Phases -> Code m Phases Исходный код

Lift PkgName Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => PkgName -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => PkgName -> Code m PkgName Исходный код

Lift Pragma Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Pragma -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Pragma -> Code m Pragma Исходный код

Lift Range Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Range -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Range -> Code m Range Исходный код

Lift Role Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Role -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Role -> Code m Role Исходный код

Lift RuleBndr Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => RuleBndr -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => RuleBndr -> Code m RuleBndr Исходный код

Lift RuleMatch Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => RuleMatch -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => RuleMatch -> Code m RuleMatch Исходный код

Lift Safety Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Safety -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => Safety -> Code m Safety Исходный код

Lift SourceStrictness Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => SourceStrictness -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => SourceStrictness -> Code m SourceStrictness Исходный код

Lift SourceUnpackedness Исходный код

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => SourceUnpackedness -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => SourceUnpackedness -> Code m SourceUnpackedness Источник

Lift Specificity Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Specificity -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Specificity -> Code m Specificity Источник

Lift Stmt Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Stmt -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Stmt -> Code m Stmt Источник

Lift TyLit Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => TyLit -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => TyLit -> Code m TyLit Источник

Lift TySynEqn Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => TySynEqn -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => TySynEqn -> Code m TySynEqn Источник

Lift Type Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Type -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Type -> Code m Type Источник

Lift TypeFamilyHead Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => TypeFamilyHead -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => TypeFamilyHead -> Code m TypeFamilyHead Источник

Lift Word16 Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Word16 -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Word16 -> Code m Word16 Источник

Lift Word32 Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Word32 -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Word32 -> Code m Word32 Источник

Lift Word64 Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Word64 -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Word64 -> Code m Word64 Источник

Lift Word8 Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Word8 -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Word8 -> Code m Word8 Источник

Lift Integer Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Integer -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Integer -> Code m Integer Источник

Lift Natural Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Natural -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Natural -> Code m Natural Источник

Lift () Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => () -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => () -> Code m () Источник

Lift Bool Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Bool -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Bool -> Code m Bool Источник

Lift Char Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Char -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Char -> Code m Char Источник

Lift Double Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Double -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Double -> Code m Double Источник

Lift Float Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Float -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Float -> Code m Float Источник

Lift Int Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Int -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Int -> Code m Int Источник

Lift Word Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Word -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Word -> Code m Word Источник

Lift Char# Источник

Начиная с: template-haskell-2.16.0.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Char# -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Char# -> Code m Char# Источник

Lift Word# Источник

Начиная с: template-haskell-2.16.0.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Word# -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Word# -> Code m Word# Источник

Lift (# #) Источник

Начиная с: template-haskell-2.16.0.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (# #) -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => (# #) -> Code m (# #) Источник

Lift a => Lift (NonEmpty a :: Type) Источник

Начиная с: template-haskell-2.15.0.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => NonEmpty a -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => NonEmpty a -> Code m (NonEmpty a) Источник

Integral a => Lift (Ratio a :: Type) Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Ratio a -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Ratio a -> Code m (Ratio a) Источник

Lift a => Lift (TyVarBndr a :: Type) Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => TyVarBndr a -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => TyVarBndr a -> Code m (TyVarBndr a) Источник

Lift a => Lift (Maybe a :: Type) Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Maybe a -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Maybe a -> Code m (Maybe a) Источник

Lift a => Lift ([a] :: Type) Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => [a] -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => [a] -> Code m [a] Источник

Lift (Fixed a :: Type) Источник

Начиная с: base-4.21.0.0

Сведения об экземпляре

Определено в Data.Fixed

Методы

lift :: Quote m => Fixed a -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Fixed a -> Code m (Fixed a) Источник

(Lift a, Lift b) => Lift (Either a b :: Type) Источник
Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Either a b -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => Either a b -> Code m (Either a b) Источник

Lift (TExp a :: Type) Источник

Начиная с: template-haskell-2.22.1.0

Сведения об экземпляре

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => TExp a -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => TExp a -> Code m (TExp a) Источник

(Lift a, Lift b) => Lift ((a, b) :: Type) Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (a, b) -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => (a, b) -> Code m (a, b) Источник

(Lift a, Lift b, Lift c) => Lift ((a, b, c) :: Type) Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (a, b, c) -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => (a, b, c) -> Code m (a, b, c) Источник

(Lift a, Lift b, Lift c, Lift d) => Lift ((a, b, c, d) :: Type) Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (a, b, c, d) -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => (a, b, c, d) -> Code m (a, b, c, d) Источник

(Lift a, Lift b, Lift c, Lift d, Lift e) => Lift ((a, b, c, d, e) :: Type) Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (a, b, c, d, e) -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => (a, b, c, d, e) -> Code m (a, b, c, d, e) Источник

(Lift a, Lift b, Lift c, Lift d, Lift e, Lift f) => Lift ((a, b, c, d, e, f) :: Type) Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (a, b, c, d, e, f) -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => (a, b, c, d, e, f) -> Code m (a, b, c, d, e, f) Источник

(Lift a, Lift b, Lift c, Lift d, Lift e, Lift f, Lift g) => Lift ((a, b, c, d, e, f, g) :: Type) Источник
Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (a, b, c, d, e, f, g) -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => (a, b, c, d, e, f, g) -> Code m (a, b, c, d, e, f, g) Источник

Lift a => Lift ((# a #) :: TYPE ('TupleRep '[LiftedRep])) Источник

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (# a #) -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => (# a #) -> Code m (# a #) Источник

(Lift a, Lift b) => Lift ((# a | b #) :: TYPE ('SumRep '[LiftedRep, LiftedRep])) Источник

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (# a | b #) -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => (# a | b #) -> Code m (# a | b #) Источник

(Lift a, Lift b) => Lift ((# a, b #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep])) Источник

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (# a, b #) -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => (# a, b #) -> Code m (# a, b #) Источник

(Lift a, Lift b, Lift c) => Lift ((# a | b | c #) :: TYPE ('SumRep '[LiftedRep, LiftedRep, LiftedRep])) Источник

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (# a | b | c #) -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => (# a | b | c #) -> Code m (# a | b | c #) Источник

(Lift a, Lift b, Lift c) => Lift ((# a, b, c #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep, LiftedRep])) Источник

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (# a, b, c #) -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => (# a, b, c #) -> Code m (# a, b, c #) Источник

(Lift a, Lift b, Lift c, Lift d) => Lift ((# a | b | c | d #) :: TYPE ('SumRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep])) Источник

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (# a | b | c | d #) -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => (# a | b | c | d #) -> Code m (# a | b | c | d #) Источник

(Lift a, Lift b, Lift c, Lift d) => Lift ((# a, b, c, d #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep])) Источник

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (# a, b, c, d #) -> m Exp Источник

liftTyped :: forall (m :: Type -> Type). Quote m => (# a, b, c, d #) -> Code m (# a, b, c, d #) Источник

(Lift a, Lift b, Lift c, Lift d, Lift e) => Lift ((# a | b | c | d | e #) :: TYPE ('SumRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) Исходный код

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (# a | b | c | d | e #) -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => (# a | b | c | d | e #) -> Code m (# a | b | c | d | e #) Исходный код

(Lift a, Lift b, Lift c, Lift d, Lift e) => Lift ((# a, b, c, d, e #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) Исходный код

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (# a, b, c, d, e #) -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => (# a, b, c, d, e #) -> Code m (# a, b, c, d, e #) Исходный код

(Lift a, Lift b, Lift c, Lift d, Lift e, Lift f) => Lift ((# a | b | c | d | e | f #) :: TYPE ('SumRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) Исходный код

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (# a | b | c | d | e | f #) -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => (# a | b | c | d | e | f #) -> Code m (# a | b | c | d | e | f #) Исходный код

(Lift a, Lift b, Lift c, Lift d, Lift e, Lift f) => Lift ((# a, b, c, d, e, f #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) Исходный код

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (# a, b, c, d, e, f #) -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => (# a, b, c, d, e, f #) -> Code m (# a, b, c, d, e, f #) Исходный код

(Lift a, Lift b, Lift c, Lift d, Lift e, Lift f, Lift g) => Lift ((# a | b | c | d | e | f | g #) :: TYPE ('SumRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) Исходный код

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (# a | b | c | d | e | f | g #) -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => (# a | b | c | d | e | f | g #) -> Code m (# a | b | c | d | e | f | g #) Исходный код

(Lift a, Lift b, Lift c, Lift d, Lift e, Lift f, Lift g) => Lift ((# a, b, c, d, e, f, g #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) Исходный код

Начиная с: template-haskell-2.16.0.0

Подробности экземпляра

Определён в GHC.Internal.TH.Lift

Методы

lift :: Quote m => (# a, b, c, d, e, f, g #) -> m Exp Исходный код

liftTyped :: forall (m :: Type -> Type). Quote m => (# a, b, c, d, e, f, g #) -> Code m (# a, b, c, d, e, f, g #) Исходный код

dataToCodeQ :: forall (m :: Type -> Type) a. (Quote m, Data a) => (forall b. Data b => b -> Maybe (Code m b)) -> a -> Code m a Исходный код

Типизированный вариант dataToExpQ.

dataToExpQ :: (Quote m, Data a) => (forall b. Data b => b -> Maybe (m Exp)) -> a -> m Exp Исходный код

dataToExpQ преобразует значение в Exp-представление того же значения в стиле SYB. Функция обобщена так, чтобы принимать функцию, переопределяющую типоспецифичные случаи; см. liftData — более распространённый вариант.

dataToPatQ :: (Quote m, Data a) => (forall b. Data b => b -> Maybe (m Pat)) -> a -> m Pat Исходный код

dataToPatQ преобразует значение в Pat-представление того же значения в стиле SYB. Функция принимает функцию для обработки типоспецифичных случаев; в качестве альтернативы передайте const Nothing, чтобы получить поведение по умолчанию.

dataToQa :: (Quote m, Data a) => (Name -> k) -> (Lit -> m q) -> (k -> [m q] -> m q) -> (forall b. Data b => b -> Maybe (m q)) -> a -> m q Исходный код

dataToQa — внутренняя вспомогательная функция для создания обобщённых функций преобразования типов с экземплярами Data в различные представления квазицитирования. Примеры использования см. в исходном коде dataToExpQ и dataToPatQ: mkCon, mkLit и appQ можно переопределить, чтобы учитывать различия в синтаксисе выражений и шаблонов; antiQ позволяет переопределять типоспецифичные случаи. Обычно используется просто const Nothing, что исключает переопределение.

falseName :: Name Исходный код

justName :: Name Исходный код

leftName :: Name Исходный код

liftData :: (Quote m, Data a) => a -> m Exp Исходный код

liftData — вариант lift из класса типов Lift, работающий для любого типа с экземпляром Data.

liftDataTyped :: forall (m :: Type -> Type) a. (Quote m, Data a) => a -> Code m a Исходный код

Типизированный вариант liftData.

nonemptyName :: Name Исходный код

nothingName :: Name Исходный код

rightName :: Name Исходный код

trueName :: Name Исходный код

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.14.1/docs/libraries/template-haskell-2.24.0.0-7769/Language-Haskell-TH-Syntax.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API