Spec-Zone.ru › Haskell 8

Language.Haskell.TH.Syntax

Авторские права (c) Университет Глазго 2003
Лицензия Стиль BSD (см. файл libraries/base/LICENSE)
Поддерживающий libraries@haskell.org
Стабильность экспериментальная
Переносимость переносимая
Безопасный Haskell Надежный
Язык Haskell2010

Содержание

  • Расширения языка

Описание

Определения абстрактной синтаксической формы для Template Haskell.

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

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

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

newName :: Строка -> Q Имя Исходный код

Генерирует свежее имя, которое не может быть захвачено.

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

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.

mkName :: Строка -> Имя Исходный код

Генерирует имя, которое может быть захвачено. Вхождения таких имён будут разрешаться в соответствии с правилами области видимости 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 :: Строка -> Строка -> Строка -> Имя Исходный код

mkNameG_d :: Строка -> Строка -> Строка -> Имя Исходный код

mkNameG_tc :: Строка -> Строка -> Строка -> Имя Исходный код

mkNameL :: Строка -> Уникальный -> Имя Исходный код

Используется только во внутреннем режиме

mkNameS :: Строка -> Имя Исходный код

unTypeQ :: forall (r :: ТипВыполнения) (a :: ТИП r). Q (TExp a) -> Q Exp Исходный код

Отбрасывает аннотацию типа и генерирует простое выражение Template Haskell.

Легковесный полиморфизм с момента template-haskell-2.16.0.0.

unsafeTExpCoerce :: forall (r :: ТипВыполнения) (a :: ТИП r). Q Exp -> Q (TExp a) Исходный код

Добавляет аннотацию типа к выражению Template Haskell.

Это небезопасно, потому что GHC не может проверить, что выражение действительно имеет тот тип, который вы утверждаете.

Легковесный полиморфизм с момента template-haskell-2.16.0.0.

liftString :: Строка -> Q Exp Исходный код

class Поднятие (t :: ТИП r) where Исходный код

Инстанс Lift может иметь любые свои значения, преобразованные в выражение Template Haskell. Это необходимо, когда значение, используемое внутри цитаты Template Haskell, связано за пределами скобок Оксфорда ([| ... |] или [|| ... ||]) но не на верхнем уровне. Например:

add1 :: Int -> Q (TExp Int)
add1 x = [|| x + 1 ||]

Template Haskell не знает, какое значение x примет во время вставки, поэтому ему нужен тип x для того, чтобы он был экземпляром Lift.

Инстанс Lift должен удовлетворять $(lift x) ≡ x и $$(liftTyped x) ≡ x для всех x, где $(...) и $$(...) являются вставками Template Haskell. Дополнительно ожидается, что lift x ≡ unTypeQ (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.

Минимальное полное определение

liftTyped

Методы

lift :: t -> Q Exp Источник

Преобразовать значение в выражение Template Haskell, подходящее для использования в сплейсе.

default lift :: r ~ 'LiftedRep => t -> Q Exp Источник

liftTyped :: t -> Q (TExp t) Источник

Преобразовать значение в типизированное выражение Template Haskell, подходящее для использования в типизированном сплейсе.

С тех пор: template-haskell-2.16.0.0

Экземпляры
Подробности о экземплярах
Lift Bool
Подробности о экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Bool -> Q Exp Исходный код

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

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Char -> Q Exp Исходный код

liftTyped :: Char -> Q (TExp Char) Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Double -> Q Exp Исходный код

liftTyped :: Double -> Q (TExp Double) Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Float -> Q Exp Исходный код

liftTyped :: Float -> Q (TExp Float) Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Int -> Q Exp Исходный код

liftTyped :: Int -> Q (TExp Int) Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Int8 -> Q Exp Исходный код

liftTyped :: Int8 -> Q (TExp Int8) Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Int16 -> Q Exp Исходный код

liftTyped :: Int16 -> Q (TExp Int16) Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Int32 -> Q Exp Исходный код

liftTyped :: Int32 -> Q (TExp Int32) Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Int64 -> Q Exp Исходный код

liftTyped :: Int64 -> Q (TExp Int64) Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Integer -> Q Exp Исходный код

liftTyped :: Integer -> Q (TExp Integer) Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Natural -> Q Exp Исходный код

liftTyped :: Natural -> Q (TExp Natural) Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Word -> Q Exp Исходный код

liftTyped :: Word -> Q (TExp Word) Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Word8 -> Q Exp Исходный код

liftTyped :: Word8 -> Q (TExp Word8) Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Word16 -> Q Exp Исходный код

liftTyped :: Word16 -> Q (TExp Word16) Исходный код

Lift Word32
Подробные сведения об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Word32 -> Q Exp Исходный код

liftTyped :: Word32 -> Q (TExp Word32) Исходный код

Lift Word64
Подробные сведения об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Word64 -> Q Exp Исходный код

liftTyped :: Word64 -> Q (TExp Word64) Исходный код

Lift ()
Подробные сведения об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

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

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

Lift Void

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

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Void -> Q Exp Исходный код

liftTyped :: Void -> Q (TExp Void) Исходный код

Lift Int#

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

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Int# -> Q Exp Исходный код

liftTyped :: Int# -> Q (TExp Int#) Исходный код

Lift Char#

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

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Char# -> Q Exp Исходный код

liftTyped :: Char# -> Q (TExp Char#) Исходный код

Lift Word#

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

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Word# -> Q Exp Исходный код

liftTyped :: Word# -> Q (TExp Word#) Исходный код

Lift Addr#

Создаёт Addr# литерал из NUL-терминированной C-строки, начинающейся по указанному адресу памяти.

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

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Addr# -> Q Exp Исходный код

liftTyped :: Addr# -> Q (TExp Addr#) Исходный код

Lift Float#

С момента: template-haskell-2.16.0.0

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Float# -> Q Exp Исходный код

liftTyped :: Float# -> Q (TExp Float#) Исходный код

Lift Double#

С момента: template-haskell-2.16.0.0

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Double# -> Q Exp Исходный код

liftTyped :: Double# -> Q (TExp Double#) Исходный код

Lift a => Lift ([a] :: Тип)
Подробные сведения об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

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

liftTyped :: [a] -> Q (TExp [a]) Исходный код

Lift a => Lift (Maybe a :: Тип)
Подробные сведения об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Maybe a -> Q Exp Исходный код

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

Целочисленный a => Lift (Ratio a :: Тип)
Подробные сведения об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

lift :: Ratio a -> Q Exp Исходный код

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

Lift a => Lift (NonEmpty a :: Тип)

С момента: template-haskell-2.15.0.0

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: NonEmpty a -> Q Exp Исходный код

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

(Lift a, Lift b) => Lift (Either a b :: Тип)
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Краткое описание методов

lift :: Either a b -> Q Exp Source

liftTyped :: Either a b -> Q (TExp (Either a b)) Source

(Lift a, Lift b) => Lift ((a, b) :: Type)
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Краткое описание методов

lift :: (a, b) -> Q Exp Source

liftTyped :: (a, b) -> Q (TExp (a, b)) Source

(Lift a, Lift b, Lift c) => Lift ((a, b, c) :: Type)
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Краткое описание методов

lift :: (a, b, c) -> Q Exp Source

liftTyped :: (a, b, c) -> Q (TExp (a, b, c)) Source

(Lift a, Lift b, Lift c, Lift d) => Lift ((a, b, c, d) :: Type)
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Краткое описание методов

lift :: (a, b, c, d) -> Q Exp Source

liftTyped :: (a, b, c, d) -> Q (TExp (a, b, c, d)) Source

(Lift a, Lift b, Lift c, Lift d, Lift e) => Lift ((a, b, c, d, e) :: Type)
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Краткое описание методов

lift :: (a, b, c, d, e) -> Q Exp Source

liftTyped :: (a, b, c, d, e) -> Q (TExp (a, b, c, d, e)) Source

(Lift a, Lift b, Lift c, Lift d, Lift e, Lift f) => Lift ((a, b, c, d, e, f) :: Type)
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Краткое описание методов

lift :: (a, b, c, d, e, f) -> Q Exp Source

liftTyped :: (a, b, c, d, e, f) -> Q (TExp (a, b, c, d, e, f)) Source

(Lift a, Lift b, Lift c, Lift d, Lift e, Lift f, Lift g) => Lift ((a, b, c, d, e, f, g) :: Type)
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

lift :: (a, b, c, d, e, f, g) -> Q Exp Источник

liftTyped :: (a, b, c, d, e, f, g) -> Q (TExp (a, b, c, d, e, f, g)) Источник

Lift (# #)

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

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: (# #) -> Q Exp Источник

liftTyped :: (# #) -> Q (TExp (# #)) Источник

Lift a => Lift ((# a #) :: TYPE ('TupleRep '['LiftedRep]))

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

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: (# a #) -> Q Exp Источник

liftTyped :: (# a #) -> Q (TExp (# a #)) Источник

(Lift a, Lift b) => Lift ((# a, b #) :: TYPE ('TupleRep '['LiftedRep, 'LiftedRep]))

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

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: (# a, b #) -> Q Exp Источник

liftTyped :: (# a, b #) -> Q (TExp (# a, b #)) Источник

(Lift a, Lift b) => Lift ((# a | b #) :: TYPE ('SumRep '['LiftedRep, 'LiftedRep]))

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

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: (# a | b #) -> Q Exp Источник

liftTyped :: (# a | b #) -> Q (TExp (# a | b #)) Источник

(Lift a, Lift b, Lift c) => Lift ((# a, b, c #) :: TYPE ('TupleRep '['LiftedRep, 'LiftedRep, 'LiftedRep]))

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

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: (# a, b, c #) -> Q Exp Источник

liftTyped :: (# a, b, c #) -> Q (TExp (# a, b, c #)) Источник

(Lift a, Lift b, Lift c) => Lift ((# a | b | c #) :: TYPE ('SumRep '['LiftedRep, 'LiftedRep, 'LiftedRep]))

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

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: (# a | b | c #) -> Q Exp Источник

liftTyped :: (# a | b | c #) -> Q (TExp (# a | b | c #)) Источник

(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

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: (# a, b, c, d #) -> Q Exp Источник

liftTyped :: (# a, b, c, d #) -> Q (TExp (# a, b, c, d #)) Источник

(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

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: (# a | b | c | d #) -> Q Exp Источник

liftTyped :: (# a | b | c | d #) -> Q (TExp (# a | b | c | d #)) Источник

(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

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: (# a, b, c, d, e #) -> Q Exp Источник

liftTyped :: (# a, b, c, d, e #) -> Q (TExp (# a, b, c, d, e #)) Источник

(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

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

Определено в Language.Haskell.TH.Syntax

Методы

lift :: (# a | b | c | d | e #) -> Q Exp Источник

liftTyped :: (# a | b | c | d | e #) -> Q (TExp (# 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 ('TupleRep '['LiftedRep, 'LiftedRep, 'LiftedRep, 'LiftedRep, 'LiftedRep, 'LiftedRep]))

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

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

Определено в Language.Haskell.TH.Syntax

Краткое описание методов

lift :: (# a, b, c, d, e, f #) -> Q Exp Source

liftTyped :: (# a, b, c, d, e, f #) -> Q (TExp (# a, b, c, d, e, f #)) Source

(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]))

Since: template-haskell-2.16.0.0

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

Определено в Language.Haskell.TH.Syntax

Краткое описание методов

lift :: (# a | b | c | d | e | f #) -> Q Exp Source

liftTyped :: (# a | b | c | d | e | f #) -> Q (TExp (# a | b | c | d | e | f #)) Source

(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]))

Since: template-haskell-2.16.0.0

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

Определено в Language.Haskell.TH.Syntax

Краткое описание методов

lift :: (# a, b, c, d, e, f, g #) -> Q Exp Source

liftTyped :: (# a, b, c, d, e, f, g #) -> Q (TExp (# a, b, c, d, e, f, g #)) Source

(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]))

Since: template-haskell-2.16.0.0

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

Определено в Language.Haskell.TH.Syntax

Краткое описание методов

lift :: (# a | b | c | d | e | f | g #) -> Q Exp Source

liftTyped :: (# a | b | c | d | e | f | g #) -> Q (TExp (# a | b | c | d | e | f | g #)) Source

data Exp Source

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

VarE Имя
{ x }
ConE Имя
data T1 = C1 t1 t2; p = {C1} e1 e2
LitE Лит
{ 5 or 'c'}
AppE Выр Выр
{ f x }
AppTypeE Выр Тип
{ f @Int }
InfixE (МожетБыть Выр) Выр (МожетБыть Выр)
{x + y} or {(x+)} or {(+ x)} or {(+)}
UInfixE Выр Выр Выр
{x + y}

См. Language.Haskell.TH.Syntax

ParensE Выр
{ (e) }

См. Language.Haskell.TH.Syntax

LamE [Шаблон] Выр
{ \ p1 p2 -> e }
LamCaseE [Сопоставление]
{ \case m1; m2 }
TupE [МожетБыть Выр]
{ (e1,e2) }

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

(1,)

переводится в

TupE [Just (LitE (IntegerL 1)),Nothing]
UnboxedTupE [МожетБыть Выр]
{ (# e1,e2 #) }

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

(# 'c', #)

переводится в

UnboxedTupE [Just (LitE (CharL 'c')),Nothing]
UnboxedSumE Выр SumAlt SumArity
{ (#|e|#) }
CondE Выр Выр Выр
{ if e1 then e2 else e3 }
MultiIfE [(Защита, Выр)]
{ if | g1 -> e1 | g2 -> e2 }
LetE [Декл] Выр
{ let { x=e1; y=e2 } in e3 }
CaseE Выр [Сопоставление]
{ case e of m1; m2 }
DoE [Утверждение]
{ do { p <- e1; e2 }  }
MDoE [Утверждение]
{ mdo { x <- e1 y; y <- e2 x; } }
CompE [Утверждение]
{ [ (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 Диапазон
{ [ 1 ,2 .. 10 ] }
ListE [Выр]
{ [1,2,3] }
SigE Выр Тип
{ e :: t }
RecConE Имя [FieldExp]
{ T { x = y, z = w } }
RecUpdE Выр [FieldExp]
{ (f x) { z = w } }
StaticE Выр
{ static e }
UnboundVarE Имя
{ _x }

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

LabelE Строка

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

ImplicitParamVarE Строка

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

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Exp :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Exp = D1 ('MetaData "Exp" "Language.Haskell.TH.Syntax" "template-haskell" '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 "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 [Stmt])) :+: C1 ('MetaCons "MDoE" 'PrefixI 'False) (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 )))
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))))))

data Match Source

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

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Match :: Type -> Type Источник

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Match = D1 ('MetaData "Match" "Language.Haskell.TH.Syntax" "template-haskell" '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 Источник

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

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

Ord Clause
Детали экземпляра

Определено в Language.Haskell.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 Источник

Show Clause
Детали экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Generic Clause
Детали экземпляра

Определено в Language.Haskell.TH.Syntax

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

type Rep Clause :: Тип -> Тип Источник

Методы

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

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

Ppr Clause
Детали экземпляра

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Clause = D1 ('MetaData "Clause" "Language.Haskell.TH.Syntax" "template-haskell" '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

Поля

  • unQ :: forall m. Quasi m => m a
Примеры
Подробности примеров
Monad Q
Подробности примера

Определено в Language.Haskell.TH.Syntax

Методы

(>>=) :: Q a -> (a -> Q b) -> Q b Источник

(>>) :: Q a -> Q b -> Q b Источник

return :: a -> Q a Источник

Functor Q
Подробности примера

Определено в Language.Haskell.TH.Syntax

Методы

fmap :: (a -> b) -> Q a -> Q b Источник

(<$) :: a -> Q b -> Q a Источник

MonadFail Q
Подробности примера

Определено в Language.Haskell.TH.Syntax

Методы

fail :: String -> Q a Источник

Applicative Q
Подробности примера

Определено в Language.Haskell.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 Источник

MonadIO Q
Подробности примера

Определено в Language.Haskell.TH.Syntax

Методы

liftIO :: IO a -> Q a Источник

Quasi Q
Подробности примера

Определено в Language.Haskell.TH.Syntax

Краткое описание методов

qNewName :: String -> Q Name Source

qReport :: Bool -> String -> Q () Source

qRecover :: Q a -> Q a -> Q a Source

qLookupName :: Bool -> String -> Q (Maybe Name) Source

qReify :: Name -> Q Info Source

qReifyFixity :: Name -> Q (Maybe Fixity) Source

qReifyType :: Name -> Q Type Source

qReifyInstances :: Name -> [Type] -> Q [Dec] Source

qReifyRoles :: Name -> Q [Role] Source

qReifyAnnotations :: Data a => AnnLookup -> Q [a] Source

qReifyModule :: Module -> Q ModuleInfo Source

qReifyConStrictness :: Name -> Q [DecidedStrictness] Source

qLocation :: Q Loc Source

qRunIO :: IO a -> Q a Source

qAddDependentFile :: FilePath -> Q () Source

qAddTempFile :: String -> Q FilePath Source

qAddTopDecls :: [Dec] -> Q () Source

qAddForeignFilePath :: ForeignSrcLang -> String -> Q () Source

qAddModFinalizer :: Q () -> Q () Source

qAddCorePlugin :: String -> Q () Source

qGetQ :: Typeable a => Q (Maybe a) Source

qPutQ :: Typeable a => a -> Q () Source

qIsExtEnabled :: Extension -> Q Bool Source

qExtsEnabled :: Q [Extension] Source

data Pat Source

Шаблон в Haskell, представленный в {}

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

LitP Lit
{ 5 or 'c' }
VarP Name
{ x }
TupP [Pat]
{ (p1,p2) }
UnboxedTupP [Pat]
{ (# p1,p2 #) }
UnboxedSumP Pat SumAlt SumArity
{ (#|p|#) }
ConP Name [Pat]
data T1 = C1 t1 t2; {C1 p1 p1} = 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 }
Экземпляры
Подробности об экземплярах
Eq Pat
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Pat :: Type -> Type Источник

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Pat = D1 ('MetaData "Pat" "Language.Haskell.TH.Syntax" "template-haskell" '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 [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 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)))))))

данные Тип Источник

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

ForallT [TyVarBndr] 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

ParensT Type
(T)
TupleT Int
(,), (,,), etc.
UnboxedTupleT Int
(#,#), (#,,#), etc.
UnboxedSumT SumArity
(#|#), (#||#), etc.
ArrowT
->
EqualityT
~
ListT
[]
PromotedTupleT Int
'(), '(,), '(,,), etc.
PromotedNilT
'[]
PromotedConsT
(':)
StarT
*
ConstraintT
Constraint
LitT TyLit
0,1,2, etc.
WildCardT
_
ImplicitParamT String Type
?x :: t
Экземпляры
Подробности об экземплярах
Eq Type
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

Ord Type
Подробные сведения об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

compare :: Тип -> Тип -> Порядок Исходный код

(<) :: Тип -> Тип -> Булево Исходный код

(<=) :: Тип -> Тип -> Булево Исходный код

(>) :: Тип -> Тип -> Булево Исходный код

(>=) :: Тип -> Тип -> Булево Исходный код

max :: Тип -> Тип -> Тип Исходный код

min :: Тип -> Тип -> Тип Исходный код

Show Тип
Подробные сведения об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

showsPrec :: Целое -> Тип -> ShowS Исходный код

show :: Тип -> Строка Исходный код

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

Generic Тип
Подробные сведения об экземпляре

Определено в Language.Haskell.TH.Syntax

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

type Rep Тип :: Тип -> Тип Исходный код

Методы

from :: Тип -> Rep Тип x Исходный код

to :: Rep Тип x -> Тип Исходный код

Ppr Тип
Подробные сведения об экземпляре

Определено в Language.Haskell.TH.Ppr

Методы

ppr :: Тип -> Документ Исходный код

ppr_list :: [Тип] -> Документ Исходный код

type Rep Тип
Подробные сведения об экземпляре

Определено в Language.Haskell.TH.Syntax

type Rep Type = D1 ('MetaData "Type" "Language.Haskell.TH.Syntax" "template-haskell" 'False) ((((C1 ('MetaCons "ForallT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr]) :*: (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) :*: 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 ('Ничего :: Может быть Символ) 'НетНераспакованностиИсходногоКода 'НетСтрогостиИсходногоКода 'РешеноЛенивый) (Rec0 Вид)) :+: C1 ('МетаКонструктор "VarT" 'ПрефиксI 'Ложь) (S1 ('MetaSel ('Ничего :: Может быть Символ) 'НетНераспакованностиИсходногоКода 'НетСтрогостиИсходногоКода 'РешеноЛенивый) (Rec0 Имя))))) :+: ((C1 ('МетаКонструктор "ConT" 'ПрефиксI 'Ложь) (S1 ('MetaSel ('Ничего :: Может быть Символ) 'НетНераспакованностиИсходногоКода 'НетСтрогостиИсходногоКода 'РешеноЛенивый) (Rec0 Имя)) :+: (C1 ('МетаКонструктор "PromotedT" 'ПрефиксI 'Ложь) (S1 ('MetaSel ('Ничего :: Может быть Символ) 'НетНераспакованностиИсходногоКода 'НетСтрогостиИсходногоКода 'РешеноЛенивый) (Rec0 Имя)) :+: C1 ('МетаКонструктор "InfixT" 'ПрефиксI 'Ложь) (S1 ('MetaSel ('Ничего :: Может быть Символ) 'НетНераспакованностиИсходногоКода 'НетСтрогостиИсходногоКода 'РешеноЛенивый) (Rec0 Тип :*: (S1 ('MetaSel ('Ничего :: Может быть Символ) 'НетНераспакованностиИсходногоКода 'НетСтрогостиИсходногоКода 'РешеноЛенивый) (Rec0 Имя) :*: S1 ('MetaSel ('Ничего :: Может быть Символ) 'НетНераспакованностиИсходногоКода 'НетСтрогостиИсходногоКода 'РешеноЛенивый) (Rec0 Тип))))) :+: (C1 ('МетаКонструктор "UInfixT" 'ПрефиксI 'Ложь) (S1 ('MetaSel ('Ничего :: Может быть Символ) 'НетНераспакованностиИсходногоКода 'НетСтрогостиИсходногоКода 'РешеноЛенивый) (Rec0 Тип) :*: (S1 ('MetaSel ('Ничего :: Может быть Символ) 'НетНераспакованностиИсходногоКода 'НетСтрогостиИсходногоКода 'РешеноЛенивый) (Rec0 Имя) :*: S1 ('MetaSel ('Ничего :: Может быть Символ) 'НетНераспакованностиИсходногоКода 'НетСтрогостиИсходногоКода 'РешеноЛенивый) (Rec0 Тип))) :+: (C1 ('МетаКонструктор "ParensT" 'ПрефиксI 'Ложь) (S1 ('MetaSel ('Ничего :: Может быть
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 :: Тип -> Тип))) :+: (C1 ('MetaCons "EqualityT" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: (C1 ('MetaCons "ListT" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: C1 ('MetaCons "PromotedTupleT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))) :+: ((C1 ('MetaCons "PromotedNilT" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: (C1 ('MetaCons "PromotedConsT" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: C1 ('MetaCons "StarT" 'PrefixI 'False) (U1 :: Тип -> Тип))) :+: ((C1 ('MetaCons "ConstraintT" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: C1 ('MetaCons "LitT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TyLit))) :+: (C1 ('MetaCons "WildCardT" 'PrefixI '
False) (U1 :: Тип -> Тип) :+: C1 ('MetaCons "ImplicitParamT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Может быть Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Строка) :*: S1 ('MetaSel ('Nothing :: Может быть Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Тип)))))))

data Dec Источник

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

FunD Name [Clause]
{ f p1 p2 = b where decs }
ValD Pat Body [Dec]
{ p = b where decs }
DataD Cxt Name [TyVarBndr] (Maybe Kind) [Con] [DerivClause]
{ data Cxt x => T x = A x | B (T x)
       deriving (Z,W)
       deriving stock Eq }
NewtypeD Cxt Name [TyVarBndr] (Maybe Kind) Con [DerivClause]
{ newtype Cxt x => T x = A (B x)
       deriving (Z,W Q)
       deriving stock Eq }
TySynD Name [TyVarBndr] Type
{ type T x = (x,x) }
ClassD Cxt Name [TyVarBndr] [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 Name
{ infix 3 foo }
PragmaD Pragma
{ {-# INLINE [1] foo #-} }
DataFamilyD Name [TyVarBndr] (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 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-разделах, состоящих целиком из неявных привязок.

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Dec :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Dec = D1 ('MetaData "Dec" "Language.Haskell.TH.Syntax" "template-haskell" '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]))) :*: (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]))) :*: (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 "TySynD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr] :*: 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) :*:
Rec0 Имя)) :*: (S1 ('MetaSel ('Ничего :: Может быть Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr]) :*: (S1 ('MetaSel ('Ничего :: Может быть Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FunDep]) :*: S1 ('MetaSel ('Ничего :: Может быть Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))))))) :+: ((C1 ('MetaCons "InstanceD" 'PrefixI 'Ложь) ((S1 ('MetaSel ('Ничего :: Может быть Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Может быть Перекрытие)) :*: S1 ('MetaSel ('Ничего :: Может быть Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt)) :*: (S1 ('MetaSel ('Ничего :: Может быть Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Тип) :*: S1 ('MetaSel ('Ничего :: Может быть Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))) :+: (C1 ('MetaCons "SigD" 'PrefixI 'Ложь) (S1 ('MetaSel ('Ничего :: Может быть Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Имя) :*: S1 ('MetaSel ('Ничего :: Может быть Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Тип)) :+: C1 ('MetaCons "KiSigD" 'PrefixI 'Ложь) (S1 ('MetaSel ('Ничего :: Может быть Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Имя) :*: S1 ('MetaSel ('Ничего :: Может быть Символ) '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 Name)) :+: 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]) :*: 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 Строка) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Выражение)))))))

type FieldExp = (Имя, Выражение) Источник

type FieldPat = (Имя, Шаблон) Источник

data Имя Источник

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

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

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

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

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

Имя OccName ТипИмени
Экземпляры
Подробности экземпляров
Eq Name
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: Name -> Name -> Bool Source

(/=) :: Name -> Name -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Name -> c Name Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Name Source

toConstr :: Name -> Constr Source

dataTypeOf :: Name -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Name) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Name) Source

gmapT :: (forall b. Data b => b -> b) -> Name -> Name Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r Source

gmapQ :: (forall d. Data d => d -> u) -> Name -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> Name -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Name -> m Name Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name Source

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

Определено в Language.Haskell.TH.Syntax

Методы

compare :: Имя -> Имя -> Порядок Исходный код

(<) :: Имя -> Имя -> Булево Исходный код

(<=) :: Имя -> Имя -> Булево Исходный код

(>) :: Имя -> Имя -> Булево Исходный код

(>=) :: Имя -> Имя -> Булево Исходный код

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

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

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

Определено в Language.Haskell.TH.Syntax

Методы

showsPrec :: Целое -> Имя -> ShowS Исходный код

show :: Имя -> Строка Исходный код

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

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

Определено в Language.Haskell.TH.Syntax

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

type Представление Имя :: Тип -> Тип Исходный код

Методы

from :: Имя -> Представление Имя x Исходный код

to :: Представление Имя x -> Имя Исходный код

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

Определено в Language.Haskell.TH.Ppr

Методы

ppr :: Имя -> Документ Исходный код

ppr_list :: [Имя] -> Документ Исходный код

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

Определено в Language.Haskell.TH.Syntax

type Представление Имя = D1 ('Метаданные "Имя" "Language.Haskell.TH.Syntax" "template-haskell" 'Ложь) (C1 ('МетаКонструктор "Имя" 'ПрефиксI 'Ложь) (S1 ('МетаВыбор ('Ничего :: Может Символ) 'НетНерасширенногоИменованияИсточника 'НетСтрогостиИсточника 'РешениеЛенивый) (Rec0 ИмяСлучая) :*: S1 ('МетаВыбор ('Ничего :: Может Символ) 'НетНерасширенногоИменованияИсточника 'НетСтрогостиИсточника 'РешениеЛенивый) (Rec0 ИмяВкус)))

data ЗависимостьФункций Исходный код

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

FunDep [Name] [Name]
Экземпляры
Подробности об экземплярах
Eq FunDep
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: FunDep -> FunDep -> Bool Source

(/=) :: FunDep -> FunDep -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FunDep -> c FunDep Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FunDep Source

toConstr :: FunDep -> Constr Source

dataTypeOf :: FunDep -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FunDep) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FunDep) Source

gmapT :: (forall b. Data b => b -> b) -> FunDep -> FunDep Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FunDep -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FunDep -> r Source

gmapQ :: (forall d. Data d => d -> u) -> FunDep -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> FunDep -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FunDep -> m FunDep Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FunDep -> m FunDep Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FunDep -> m FunDep Source

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep FunDep :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep FunDep = D1 ('MetaData "FunDep" "Language.Haskell.TH.Syntax" "template-haskell" '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 Source

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

newtype TExp (a :: TYPE (r :: RuntimeRep)) Source

Представляет выражение, имеющее тип a. Построенное поверх Exp, типизированные выражения позволяют выполнять безопасную вставку типов следующим образом:

  • типизированные цитаты, записанные как [|| ... ||] где ... — это выражение; если это выражение имеет тип a, то цитата имеет тип Q (TExp a)
  • типизированные вставки внутри типизированных цитат, записанные как $$(...) где ... — это произвольное выражение типа Q (TExp a)

Традиционные цитаты и вставки выражений позволяют нам строить выражения с неправильным типом:

>>> fmap ppr $ runQ [| True == $( [| "foo" |] ) |]
GHC.Types.True GHC.Classes.== "foo"
>>> GHC.Types.True GHC.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 [|| True == $$( [|| "foo" ||] ) ||]
<interactive> error:
    • Couldn't match type ‘[Char]’ with ‘Bool’
      Expected type: Q (TExp Bool)
        Actual type: Q (TExp [Char])
    • In the Template Haskell quotation [|| "foo" ||]
      In the expression: [|| "foo" ||]
      In the Template Haskell splice $$([|| "foo" ||])

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

TExp

Поля

  • unType :: Exp

    Основное нетипизированное выражение Template Haskell

data InjectivityAnn Source

Аннотация инъективности

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

InjectivityAnn Name [Name]
Экземпляры
Подробности об экземплярах
Eq InjectivityAnn
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep InjectivityAnn :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep InjectivityAnn = D1 ('MetaData "InjectivityAnn" "Language.Haskell.TH.Syntax" "template-haskell" '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])))

data Overlap Source

Разновидности разрешенного перекрытия экземпляров.

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

Overlappable

Может быть перекрыто более специфическими экземплярами

Overlapping

Может перекрывать более общий экземпляр

Overlaps

Оба Overlapping и Overlappable

Incoherent

Оба Overlappable и Overlappable, и выбирается произвольный вариант, если доступно несколько вариантов.

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Overlap :: Type -> Type Источник

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Overlap = D1 ('MetaData "Overlap" "Language.Haskell.TH.Syntax" "template-haskell" '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)))

type Тип = Type Источник

Для избежания дублирования между типами и видами, они определяются как одинаковые. Естественно, у вас никогда не будет типа StarT, и у вас никогда не будет вида SigT, но многие другие конструкторы разделяются. Обратите внимание, что вид Bool обозначается ConT, а не PromotedT. Аналогично, виды кортежей создаются с помощью TupleT, а не PromotedTupleT.

data AnnLookup Источник

Цель аннотации для reifyAnnotations

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

AnnLookupModule Module
AnnLookupName Name
Экземпляры
Подробности о экземплярах
Eq AnnLookup
Подробности о экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: AnnLookup -> AnnLookup -> Bool Source

(/=) :: AnnLookup -> AnnLookup -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AnnLookup -> c AnnLookup Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AnnLookup Source

toConstr :: AnnLookup -> Constr Source

dataTypeOf :: AnnLookup -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AnnLookup) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AnnLookup) Source

gmapT :: (forall b. Data b => b -> b) -> AnnLookup -> AnnLookup Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AnnLookup -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AnnLookup -> r Source

gmapQ :: (forall d. Data d => d -> u) -> AnnLookup -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> AnnLookup -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AnnLookup -> m AnnLookup Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AnnLookup -> m AnnLookup Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AnnLookup -> m AnnLookup Source

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep AnnLookup :: Type -> Type Источник

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep AnnLookup = D1 ('MetaData "AnnLookup" "Language.Haskell.TH.Syntax" "template-haskell" '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 Роль Источник

Аннотации роли

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

NominalR
nominal
RepresentationalR
representational
PhantomR
phantom
InferR
_
Экземпляры
Подробности экземпляров
Eq Role
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: Role -> Role -> Bool Source

(/=) :: Role -> Role -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Role -> c Role Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Role Source

toConstr :: Role -> Constr Source

dataTypeOf :: Role -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Role) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Role) Source

gmapT :: (forall b. Data b => b -> b) -> Role -> Role Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Role -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Role -> r Source

gmapQ :: (forall d. Data d => d -> u) -> Role -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> Role -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Role -> m Role Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Role -> m Role Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Role -> m Role Source

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Role :: Тип -> Тип Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Role = D1 ('MetaData "Role" "Language.Haskell.TH.Syntax" "template-haskell" 'False) ((C1 ('MetaCons "NominalR" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: C1 ('MetaCons "RepresentationalR" 'PrefixI 'False) (U1 :: Тип -> Тип)) :+: (C1 ('MetaCons "PhantomR" 'PrefixI 'False) (U1 :: Тип -> Тип)) :+: C1 ('MetaCons "InferR" 'PrefixI 'False) (U1 :: Тип -> Тип)))

data TyLit Source

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

NumTyLit Integer
2
StrTyLit String
"Hello"
Экземпляры
Подробности об экземплярах
Eq TyLit
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: TyLit -> TyLit -> Bool Source

(/=) :: TyLit -> TyLit -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TyLit -> c TyLit Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TyLit Source

toConstr :: TyLit -> Constr Source

dataTypeOf :: TyLit -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TyLit) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TyLit) Source

gmapT :: (forall b. Data b => b -> b) -> TyLit -> TyLit Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TyLit -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TyLit -> r Source

gmapQ :: (forall d. Data d => d -> u) -> TyLit -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> TyLit -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TyLit -> m TyLit Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TyLit -> m TyLit Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TyLit -> m TyLit Source

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep TyLit :: Тип -> Тип Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep TyLit = D1 ('MetaData "TyLit" "Language.Haskell.TH.Syntax" "template-haskell" '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)))

data FamilyResultSig Source

Тип-семейство результирующая подпись

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

NoSig

нет подписи

KindSig Kind
k
TyVarSig TyVarBndr
= r, = (r :: k)
Экземпляры
Подробности экземпляров
Eq FamilyResultSig
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep FamilyResultSig :: Тип -> Тип Источник

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep FamilyResultSig = D1 ('MetaData "FamilyResultSig" "Language.Haskell.TH.Syntax" "template-haskell" '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 TyVarBndr Source

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

PlainTV Name
a
KindedTV Name Kind
(a :: k)
Экземпляры
Подробности экземпляров
Eq TyVarBndr
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

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

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

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

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep TyVarBndr :: Type -> Type Источник

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep TyVarBndr = D1 ('MetaData "TyVarBndr" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "PlainTV" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "KindedTV" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind)))

data PatSynArgs Source

Тип аргумента псевдонима шаблона.

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

PrefixPatSyn [Name]
pattern P {x y z} = p
InfixPatSyn Name Name
pattern {x P y} = p
RecordPatSyn [Name]
pattern P { {x,y,z} } = p
Экземпляры
Подробности экземпляров
Eq PatSynArgs
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep PatSynArgs :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep PatSynArgs = D1 ('MetaData "PatSynArgs" "Language.Haskell.TH.Syntax" "template-haskell" '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 Source

Направление синонима шаблона.

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

Unidir
pattern P x {<-} p
ImplBidir
pattern P x {=} p
ExplBidir [Clause]
pattern P x {<-} p where P x = e
Экземпляры
Подробности о экземплярах
Eq PatSynDir
Подробности о экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep PatSynDir :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep PatSynDir = D1 ('MetaData "PatSynDir" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "Unidir" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: (C1 ('MetaCons "ImplBidir" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: C1 ('MetaCons "ExplBidir" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Предложение]))))

type ТипПеременнойССтрогостью = ТипПеременнойСФлагом Исходный код

Начиная с template-haskell-2.11.0.0, VarStrictType было заменено на VarBangType.

type ТипСоСтрогостью = ТипСФлагом Исходный код

Начиная с template-haskell-2.11.0.0, StrictType было заменено на BangType.

type Строгость = Флаг Исходный код

Начиная с template-haskell-2.11.0.0, Strict было заменено на Bang.

type ТипПеременнойСФлагом = (Имя, Флаг, Тип) Исходный код

type ТипСФлагом = (Флаг, Тип) Исходный код

data Флаг Исходный код

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

Флаг Развёрнутость Строгость
C { {-# UNPACK #-} !}a
Экземпляры
Подробности об экземплярах
Eq Bang
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Bang :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Bang = D1 ('MetaData "Bang" "Language.Haskell.TH.Syntax" "template-haskell" '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 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.

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

NormalC Name [BangType]
C Int a
RecC Name [VarBangType]
C { v :: Int, w :: a }
InfixC BangType Name BangType
Int :+ a
ForallC [TyVarBndr] Cxt Con
forall a. Eq a => C [a]
GadtC [Name] [BangType] Type
C :: a -> b -> T b Int
RecGadtC [Name] [VarBangType] Type
C :: { v :: Int } -> T b Int
Экземпляры
Подробности экземпляров
Eq Con
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Con :: Тип -> Тип Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Con = D1 ('MetaData "Con" "Language.Haskell.TH.Syntax" "template-haskell" '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 Con))) :+: (C1 ('MetaCons "ForallC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr]) :*: (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 DecidedStrictness Source

В отличие от SourceStrictness и SourceUnpackedness, DecidedStrictness относится к строгости, выбранной компилятором для поля конструктора данных, которая может отличаться от того, что написано в исходном коде. Дополнительную информацию см. в reifyConStrictness.

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

DecidedLazy
DecidedStrict
DecidedUnpack
Экземпляры
Подробности об экземплярах
Eq DecidedStrictness
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep DecidedStrictness :: Тип -> Тип Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep DecidedStrictness = D1 ('MetaData "DecidedStrictness" "Language.Haskell.TH.Syntax" "template-haskell" '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 SourceStrictness Source

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

NoSourceStrictness
C a
SourceLazy
C {~}a
SourceStrict
C {!}a
Экземпляры
Подробности об экземплярах
Eq SourceStrictness
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: SourceStrictness -> SourceStrictness -> Bool Source

(/=) :: SourceStrictness -> SourceStrictness -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourceStrictness -> c SourceStrictness Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourceStrictness Source

toConstr :: SourceStrictness -> Constr Source

dataTypeOf :: SourceStrictness -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourceStrictness) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourceStrictness) Source

gmapT :: (forall b. Data b => b -> b) -> SourceStrictness -> SourceStrictness Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourceStrictness -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourceStrictness -> r Source

gmapQ :: (forall d. Data d => d -> u) -> SourceStrictness -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> SourceStrictness -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness Source

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep SourceStrictness :: Type -> Type Источник

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep SourceStrictness = D1 ('MetaData "SourceStrictness" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "NoSourceStrictness" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: (C1 ('MetaCons "SourceLazy" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: C1 ('MetaCons "SourceStrict" 'PrefixI 'False) (U1 :: Тип -> Тип)))

data SourceUnpackedness Source

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

NoSourceUnpackedness
C a
SourceNoUnpack
C { {-# NOUNPACK #-} } a
SourceUnpack
C { {-# UNPACK #-} } a
Экземпляры
Подробности об экземплярах
Eq SourceUnpackedness
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: SourceUnpackedness -> SourceUnpackedness -> Bool Source

(/=) :: SourceUnpackedness -> SourceUnpackedness -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourceUnpackedness -> c SourceUnpackedness Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourceUnpackedness Source

toConstr :: SourceUnpackedness -> Constr Source

dataTypeOf :: SourceUnpackedness -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourceUnpackedness) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourceUnpackedness) Source

gmapT :: (forall b. Data b => b -> b) -> SourceUnpackedness -> SourceUnpackedness Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourceUnpackedness -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourceUnpackedness -> r Source

gmapQ :: (forall d. Data d => d -> u) -> SourceUnpackedness -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> SourceUnpackedness -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness Source

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep SourceUnpackedness :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep SourceUnpackedness = D1 ('MetaData "SourceUnpackedness" "Language.Haskell.TH.Syntax" "template-haskell" '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)))

type Cxt Source

Аргументы

= [Pred]
(Eq a, Ord b)

data AnnTarget Source

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

ModuleAnnotation
TypeAnnotation Name
ValueAnnotation Name
Экземпляры
Подробности об экземплярах
Eq AnnTarget
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep AnnTarget :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep AnnTarget = D1 ('MetaData "AnnTarget" "Language.Haskell.TH.Syntax" "template-haskell" '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))))

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

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

RuleVar Name
TypedRuleVar Name Type
Экземпляры
Подробности об экземплярах
Eq RuleBndr
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: RuleBndr -> RuleBndr -> Bool Source

(/=) :: RuleBndr -> RuleBndr -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RuleBndr -> c RuleBndr Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RuleBndr Source

toConstr :: RuleBndr -> Constr Source

dataTypeOf :: RuleBndr -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RuleBndr) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RuleBndr) Source

gmapT :: (forall b. Data b => b -> b) -> RuleBndr -> RuleBndr Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RuleBndr -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RuleBndr -> r Source

gmapQ :: (forall d. Data d => d -> u) -> RuleBndr -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> RuleBndr -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RuleBndr -> m RuleBndr Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RuleBndr -> m RuleBndr Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RuleBndr -> m RuleBndr Source

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep RuleBndr :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep RuleBndr = D1 ('MetaData "RuleBndr" "Language.Haskell.TH.Syntax" "template-haskell" '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 Этапы Источник

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

ВсеЭтапы
ОтЭтапа Целое
ПередЭтапом Целое
Экземпляры
Подробности об экземплярах
Eq Phases
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.TH.Syntax

Методы

compare :: Фазы -> Фазы -> Порядок Источник

(<) :: Фазы -> Фазы -> Булево Источник

(<=) :: Фазы -> Фазы -> Булево Источник

(>) :: Фазы -> Фазы -> Булево Источник

(>=) :: Фазы -> Фазы -> Булево Источник

max :: Фазы -> Фазы -> Фазы Источник

min :: Фазы -> Фазы -> Фазы Источник

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

Определено в Language.Haskell.TH.Syntax

Методы

showsPrec :: Целое -> Фазы -> ShowS Источник

show :: Фазы -> Строка Источник

showList :: [Фазы] -> ShowS Источник

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Фазы :: Тип -> Тип Источник

Методы

from :: Фазы -> Rep Фазы x Источник

to :: Rep Фазы x -> Фазы Источник

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

Определено в Language.Haskell.TH.Ppr

Методы

ppr :: Фазы -> Документ Источник

ppr_list :: [Фазы] -> Документ Источник

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

Определено в Language.Haskell.TH.Syntax

type Rep Phases = D1 ('MetaData "Phases" "Language.Haskell.TH.Syntax" "template-haskell" '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))))

data RuleMatch Источник

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

ConLike
FunLike
Экземпляры
Подробности об экземплярах
Eq RuleMatch
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep RuleMatch :: Тип -> Тип Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep RuleMatch = D1 ('MetaData "RuleMatch" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "ConLike" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: C1 ('MetaCons "FunLike" 'PrefixI 'False) (U1 :: Тип -> Тип))

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

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

NoInline
Inline
Inlinable
Экземпляры
Подробности об экземплярах
Eq Inline
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Inline :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Inline = D1 ('MetaData "Inline" "Language.Haskell.TH.Syntax" "template-haskell" '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)))

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

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

InlineP Name Inline RuleMatch Phases
SpecialiseP Name Type (Maybe Inline) Phases
SpecialiseInstP Type
RuleP String (Maybe [TyVarBndr]) [RuleBndr] Exp Exp Phases
AnnP AnnTarget Exp
LineP Int String
CompleteP [Name] (Maybe Name)
{ {-# COMPLETE C_1, ..., C_i [ :: T ] #-} }
Экземпляры
Подробности экземпляров
Eq Pragma
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: Pragma -> Pragma -> Bool Source

(/=) :: Pragma -> Pragma -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Pragma -> c Pragma Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Pragma Source

toConstr :: Pragma -> Constr Source

dataTypeOf :: Pragma -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Pragma) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Pragma) Source

gmapT :: (forall b. Data b => b -> b) -> Pragma -> Pragma Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Pragma -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Pragma -> r Source

gmapQ :: (forall d. Data d => d -> u) -> Pragma -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> Pragma -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Pragma -> m Pragma Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Pragma -> m Pragma Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Pragma -> m Pragma Source

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Pragma :: Type -> Type Источник

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Pragma = D1 ('MetaData "Pragma" "Language.Haskell.TH.Syntax" "template-haskell" '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 RuleMatch) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Phases))) :+: (C1 ('MetaCons "SpecialiseP" '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 Inline)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RuleMatch) :*: 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 [Имя]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Имя))))))

data Безопасность Источник

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

Unsafe
Safe
Interruptible
Экземпляры
Подробности о экземплярах
Eq Safety
Подробности о экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: Safety -> Safety -> Bool Source

(/=) :: Safety -> Safety -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Safety -> c Safety Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Safety Source

toConstr :: Safety -> Constr Source

dataTypeOf :: Safety -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Safety) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Safety) Source

gmapT :: (forall b. Data b => b -> b) -> Safety -> Safety Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Safety -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Safety -> r Source

gmapQ :: (forall d. Data d => d -> u) -> Safety -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> Safety -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Safety -> m Safety Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Safety -> m Safety Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Safety -> m Safety Source

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Safety :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Safety = D1 ('MetaData "Safety" "Language.Haskell.TH.Syntax" "template-haskell" '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 Callconv Исходный код

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

CCall
StdCall
CApi
Prim
JavaScript
Экземпляры
Подробности об экземплярах
Eq Callconv
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Callconv :: Type -> Type Источник

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Callconv = D1 ('MetaData "Callconv" "Language.Haskell.TH.Syntax" "template-haskell" '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))))

data Foreign Источник

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

ImportF Callconv Safety String Name Type
ExportF Callconv String Name Type
Экземпляры
Подробности о экземплярах
Eq Foreign
Подробности о экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: Foreign -> Foreign -> Bool Source

(/=) :: Foreign -> Foreign -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Foreign -> c Foreign Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Foreign Source

toConstr :: Foreign -> Constr Source

dataTypeOf :: Foreign -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Foreign) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Foreign) Source

gmapT :: (forall b. Data b => b -> b) -> Foreign -> Foreign Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Foreign -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Foreign -> r Source

gmapQ :: (forall d. Data d => d -> u) -> Foreign -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> Foreign -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Foreign -> m Foreign Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Foreign -> m Foreign Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Foreign -> m Foreign Source

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Foreign :: Type -> Type Источник

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

type Rep Foreign
Детали экземпляра

Определено в Language.Haskell.TH.Syntax

type Rep Foreign = D1 ('MetaData "Foreign" "Language.Haskell.TH.Syntax" "template-haskell" '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 TySynEqn Source

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

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

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
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep TySynEqn :: Тип -> Тип Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep TySynEqn = D1 ('MetaData "TySynEqn" "Language.Haskell.TH.Syntax" "template-haskell" '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))))

данные TypeFamilyHead Исходный код

Общие элементы OpenTypeFamilyD и ClosedTypeFamilyD. По аналогии с "head" для классов типов и экземпляров классов типов, как определено в Type classes: an exploration of the design space, TypeFamilyHead определяется как элементы объявления между type family и where.

Краткое описание конструкторов

TypeFamilyHead Name [TyVarBndr] FamilyResultSig (Maybe InjectivityAnn)
Экземпляры
Подробности об экземплярах
Eq TypeFamilyHead
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Краткое описание методов

(==) :: TypeFamilyHead -> TypeFamilyHead -> Bool Source

(/=) :: TypeFamilyHead -> TypeFamilyHead -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Краткое описание методов

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TypeFamilyHead -> c TypeFamilyHead Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TypeFamilyHead Source

toConstr :: TypeFamilyHead -> Constr Source

dataTypeOf :: TypeFamilyHead -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TypeFamilyHead) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TypeFamilyHead) Source

gmapT :: (forall b. Data b => b -> b) -> TypeFamilyHead -> TypeFamilyHead Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TypeFamilyHead -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TypeFamilyHead -> r Source

gmapQ :: (forall d. Data d => d -> u) -> TypeFamilyHead -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> TypeFamilyHead -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TypeFamilyHead -> m TypeFamilyHead Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeFamilyHead -> m TypeFamilyHead Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeFamilyHead -> m TypeFamilyHead Source

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep TypeFamilyHead :: Type -> Type Источник

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep TypeFamilyHead = D1 ('MetaData "TypeFamilyHead" "Language.Haskell.TH.Syntax" "template-haskell" '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])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FamilyResultSig) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe InjectivityAnn)))))

type PatSynType = Type Source

Тип псевдонима шаблона. Обратите внимание, что полностью определенный тип псевдонима шаблона имеет необычную форму, сопровождающуюся двумя кванторами 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 для deriving, упоминающий только универсалы.

Типы псевдонимов шаблонов взаимодействуют с TH при (а) реификации псевдонима шаблона, (б) красивой печати или (с) явном указании сигнатуры типа псевдонима шаблона:

  • Реификация всегда возвращает полностью определенный тип псевдонима шаблона в абстрактной синтаксической форме.
  • Красивая печать через pprPatSynType однозначно сокращает тип псевдонима шаблона в конкретной синтаксической форме: общее правило заключается в печати начальных пустых универсалий и требуемого контекста как () =>, если за ними следуют экзистенциальные и предоставленный контекст. Если указаны только универсалы и их требуемый контекст, но нет экзистенциальных, печатаются только универсалы и их требуемый контекст. Если указаны оба или ни один, то печатаются оба (или ни один).
  • При явном указании типа псевдонима шаблона с PatSynSigD любой из универсалий, экзистенциалов или их контекстов может быть опущен.

Для получения дополнительной информации о псевдонимах шаблонов и их типах обратитесь к руководству пользователя GHC: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#pattern-synonyms.

data DerivStrategy Source

То, что пользователь явно запрашивает при выводе экземпляра.

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

StockStrategy

Стандартный выведенный экземпляр

AnyclassStrategy
-XDeriveAnyClass
NewtypeStrategy
-XGeneralizedNewtypeDeriving
ViaStrategy Type
-XDerivingVia
Экземпляры
Подробности об экземплярах
Eq DerivStrategy
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep DerivStrategy :: Type -> Type Источник

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep DerivStrategy = D1 ('MetaData "DerivStrategy" "Language.Haskell.TH.Syntax" "template-haskell" '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))))

data DerivClause Source

Единственное предложение deriving в конце типа данных.

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

DerivClause (Maybe DerivStrategy) Cxt
{ deriving stock (Eq, Ord) }
Экземпляры
Подробности о экземплярах
Eq DerivClause
Подробности о экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: DerivClause -> DerivClause -> Bool Source

(/=) :: DerivClause -> DerivClause -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DerivClause -> c DerivClause Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DerivClause Source

toConstr :: DerivClause -> Constr Source

dataTypeOf :: DerivClause -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DerivClause) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DerivClause) Source

gmapT :: (forall b. Data b => b -> b) -> DerivClause -> DerivClause Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DerivClause -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DerivClause -> r Source

gmapQ :: (forall d. Data d => d -> u) -> DerivClause -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> DerivClause -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DerivClause -> m DerivClause Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DerivClause -> m DerivClause Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DerivClause -> m DerivClause Source

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

show :: DerivClause -> Строка Исходный код

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep DerivClause :: Тип -> Тип Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep DerivClause = D1 ('MetaData "DerivClause" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "DerivClause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe DerivStrategy)) :*: S1 ('MetaSel ('Nothing :: Maybe Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt)))

data Диапазон Исходный код

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

FromR Exp
FromThenR Exp Exp
FromToR Exp Exp
FromThenToR Exp Exp Exp
Экземпляры
Подробности экземпляров
Eq Range
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: Range -> Range -> Bool Source

(/=) :: Range -> Range -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Range -> c Range Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Range Source

toConstr :: Range -> Constr Source

dataTypeOf :: Range -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Range) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Range) Source

gmapT :: (forall b. Data b => b -> b) -> Range -> Range Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Range -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Range -> r Source

gmapQ :: (forall d. Data d => d -> u) -> Range -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> Range -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Range -> m Range Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Range -> m Range Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Range -> m Range Source

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

Определено в Language.Haskell.TH.Syntax

Методы

compare :: Диапазон -> Диапазон -> Порядок Исходный код

(<) :: Диапазон -> Диапазон -> Булево Исходный код

(<=) :: Диапазон -> Диапазон -> Булево Исходный код

(>) :: Диапазон -> Диапазон -> Булево Исходный код

(>=) :: Диапазон -> Диапазон -> Булево Исходный код

max :: Диапазон -> Диапазон -> Диапазон Исходный код

min :: Диапазон -> Диапазон -> Диапазон Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

showsPrec :: Целое -> Диапазон -> ShowS Исходный код

show :: Диапазон -> Строка Исходный код

showList :: [Диапазон] -> ShowS Исходный код

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Диапазон :: Тип -> Тип Исходный код

Методы

from :: Диапазон -> Rep Диапазон x Исходный код

to :: Rep Диапазон x -> Диапазон Исходный код

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

Определено в Language.Haskell.TH.Ppr

Методы

ppr :: Диапазон -> Документ Исходный код

ppr_list :: [Диапазон] -> Документ Исходный код

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

Определено в Language.Haskell.TH.Syntax

type Rep Range = D1 ('MetaData "Range" "Language.Haskell.TH.Syntax" "template-haskell" '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) :*: 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)))))

data Stmt Source

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

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 }
Экземпляры
Подробности о экземплярах
Eq Stmt
Подробности о экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Stmt :: Type -> Type Источник

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Stmt = D1 ('MetaData "Stmt" "Language.Haskell.TH.Syntax" "template-haskell" '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 Guard Source

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

NormalG Exp
f x { | odd x } = x
PatG [Stmt]
f x { | Just y <- x, Just z <- y } = z
Экземпляры
Подробности экземпляров
Eq Guard
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Guard :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Guard = D1 ('MetaData "Guard" "Language.Haskell.TH.Syntax" "template-haskell" '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 Body Исходный код

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

GuardedB [(Guard, Exp)]
f p { | e1 = e2
      | e3 = e4 }
 where ds
NormalB Exp
f p { = e } where ds
Экземпляры
Подробности экземпляров
Eq Body
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Body :: Type -> Type Источник

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Body = D1 ('MetaData "Body" "Language.Haskell.TH.Syntax" "template-haskell" '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

    Количество байтов Maybe someday: , bytesAlignement :: Word -- ^ Alignement constraint , bytesReadOnly :: Bool -- ^ Shall we embed into a read-only -- section or not , bytesInitialized :: Bool -- ^ False: only use bytesSize to allocate -- an uninitialized region

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

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: Bytes -> Bytes -> Bool Source

(/=) :: Bytes -> Bytes -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bytes -> c Bytes Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bytes Source

toConstr :: Bytes -> Constr Source

dataTypeOf :: Bytes -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bytes) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Bytes) Source

gmapT :: (forall b. Data b => b -> b) -> Bytes -> Bytes Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bytes -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bytes -> r Source

gmapQ :: (forall d. Data d => d -> u) -> Bytes -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> Bytes -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bytes -> m Bytes Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bytes -> m Bytes Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bytes -> m Bytes Source

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Bytes :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Bytes = D1 ('MetaData "Bytes" "Language.Haskell.TH.Syntax" "template-haskell" '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 Lit Исходный код

Краткое описание конструкторов

CharL Char
StringL String
IntegerL Integer

Используется для перегруженных и неперегруженных литералов. В данный момент у нас нет хорошего способа представить неперегруженные литералы. Возможно, это не имеет значения?

RationalL Rational
IntPrimL Integer
WordPrimL Integer
FloatPrimL Rational
DoublePrimL Rational
StringPrimL [Word8]

Примитивная строка в стиле C, тип Addr#

BytesPrimL Bytes

Некоторые необработанные байты, тип Addr#.

CharPrimL Char
Экземпляры
Подробности об экземплярах
Eq Lit
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: Lit -> Lit -> Bool Source

(/=) :: Lit -> Lit -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Lit -> c Lit Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Lit Source

toConstr :: Lit -> Constr Source

dataTypeOf :: Lit -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Lit) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Lit) Source

gmapT :: (forall b. Data b => b -> b) -> Lit -> Lit Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Lit -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Lit -> r Source

gmapQ :: (forall d. Data d => d -> u) -> Lit -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> Lit -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Lit -> m Lit Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Lit -> m Lit Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Lit -> m Lit Source

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Lit :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Lit = D1 ('MetaData "Lit" "Language.Haskell.TH.Syntax" "template-haskell" '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 FixityDirection Source

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

InfixL
InfixR
InfixN
Экземпляры
Подробности о экземплярах
Eq FixityDirection
Подробности о экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep FixityDirection :: Тип -> Тип Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep FixityDirection = D1 ('MetaData "FixityDirection" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "InfixL" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: (C1 ('MetaCons "InfixR" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: C1 ('MetaCons "InfixN" 'PrefixI 'False) (U1 :: Тип -> Тип)))

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

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

Fixity Int FixityDirection
Экземпляры
Подробности экземпляров
Eq Fixity
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Fixity :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Fixity = D1 ('MetaData "Fixity" "Language.Haskell.TH.Syntax" "template-haskell" '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)))

type InstanceDec = Dec Исходный код

InstanceDec описывает отдельный экземпляр класса или функции типа. Это просто Dec, но гарантируется, что это один из следующих:

  • InstanceD (с пустым [Dec])
  • DataInstD или NewtypeInstD (с пустым производным [Name])
  • TySynInstD

type Unlifted = Bool Исходный код

В PrimTyConI, является ли конструктор типа неунифицированным?

type Arity = Int Исходный код

В PrimTyConI, арность конструктора типа

type SumArity = Int Source

В UnboxedSumE, UnboxedSumT, и UnboxedSumP, общее количество SumAlt. Например, (#|#) имеет SumArity 2.

type SumAlt = Int Source

В UnboxedSumE и UnboxedSumP, число, связанное с конкретным конструктором данных. SumAlt — индексируются с единицы и не должны превышать значение соответствующего SumArity. Например:

  • (#_|#) имеет SumAlt 1 (из общего SumArity 2)
  • (#|_#) имеет SumAlt 2 (из общего SumArity 2)

type ParentName = Name Source

В ClassOpI и DataConI, имя родительского класса или типа

data ModuleInfo Source

Получено из reifyModule в Q монаде.

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

ModuleInfo [Module]

Содержит список импортов модуля.

Экземпляры
Подробности экземпляров
Eq ModuleInfo
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep ModuleInfo :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep ModuleInfo = D1 ('MetaData "ModuleInfo" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "ModuleInfo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Module])))

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

Получено из reify в Q монаде.

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

ClassI Dec [InstanceDec]

Класс с списком его видимых экземпляров

ClassOpI Имя Тип ИмяРодителя

Метод класса

TyConI Dec

«Простой» конструктор типа. «Более сложные» конструкторы типов возвращаются с использованием PrimTyConI или FamilyI соответственно. В настоящее время данная переинициализированная декларация никогда не будет иметь присоединённых производных экземпляров (если вы хотите проверить наличие экземпляра, см. reifyInstances).

FamilyI Dec [InstanceDec]

Семейство типов или данных со списком его видимых экземпляров. Закрытое семейство типов возвращается с 0 экземплярами.

PrimTyConI Имя Арность Неподнятый

«Примитивный» конструктор типа, который нельзя выразить с помощью Dec. Примеры: (->), Int#.

DataConI Имя Тип ИмяРодителя

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

PatSynI Имя ТипПатерна

Псевдоним паттерна

VarI Имя Тип (Возможно Dec)

Переменная «значения» (в отличие от переменной типа, см. TyVarI).

Поле Maybe Dec содержит Just объявление, которое определило переменную — включая правую часть объявления — или же Nothing, в случае, если правая часть недоступна компилятору. В настоящее время это значение всегда Nothing: возврат правой части ещё не реализован из-за отсутствия интереса.

TyVarI Имя Тип

Переменная типа.

Поле Type содержит тип, лежащий в основе переменной. В настоящее время это всегда VarT theName, но будущие изменения могут позволить уточнение этого.

Экземпляры
Подробности экземпляров
Eq Info
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: Info -> Info -> Bool Source

(/=) :: Info -> Info -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Info -> c Info Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Info Source

toConstr :: Info -> Constr Source

dataTypeOf :: Info -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Info) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Info) Source

gmapT :: (forall b. Data b => b -> b) -> Info -> Info Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Info -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Info -> r Source

gmapQ :: (forall d. Data d => d -> u) -> Info -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> Info -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Info -> m Info Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Info -> m Info Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Info -> m Info Source

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Info :: Type -> Type Источник

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Info = D1 ('MetaData "Info" "Language.Haskell.TH.Syntax" "template-haskell" '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 ('Ничего :: Возможно Символ) 'НетРазвернутостиИзИсточника 'НетСтрогостиИзИсточника 'РешеноЛениво) (Rec0 НеПоднятый))) :+: C1 ('MetaCons "DataConI" 'ПрефиксI 'Ложь) (S1 ('MetaSel ('Ничего :: Возможно Символ) 'НетРазвернутостиИзИсточника 'НетСтрогостиИзИсточника 'РешеноЛениво) (Rec0 Имя) :*: (S1 ('MetaSel ('Ничего :: Возможно Символ) 'НетРазвернутостиИзИсточника 'НетСтрогостиИзИсточника 'РешеноЛениво) (Rec0 Тип) :*: S1 ('MetaSel ('Ничего :: Возможно Символ) 'НетРазвернутостиИзИсточника 'НетСтрогостиИзИсточника 'РешеноЛениво) (Rec0 ИмяРодителя)))) :+: (C1 ('MetaCons "PatSynI" 'ПрефиксI 'Ложь) (S1 ('MetaSel ('Ничего :: Возможно Символ) 'НетРазвернутостиИзИсточника 'НетСтрогостиИзИсточника 'РешеноЛениво) (Rec0 Имя) :*: S1 ('MetaSel ('Ничего :: Возможно Символ) 'НетРазвернутостиИзИсточника 'НетСтрогостиИзИсточника 'РешеноЛениво) (Rec0 ТипПаттерна)) :+: (C1 ('MetaCons "VarI" 'ПрефиксI 'Ложь) (S1 ('MetaSel ('Ничего :: Возможно Символ) 'НетРазвернутостиИзИсточника 'НетСтрогостиИзИсточника 'РешеноЛениво) (Rec0 Имя) :*: (S1 ('MetaSel ('Ничего :: Возможно Символ) 'НетРазвернутостиИзИсточника 'НетСтрогостиИзИсточника 'РешеноЛениво) (Rec0 Тип) :*: S1 ('MetaSel ('Ничего :: Возможно Символ) 'НетРазвернутостиИзИсточника 'НетСтрогостиИзИсточника 'РешеноЛениво) (Rec0 (Возможно Дек)))) :+: C1 ('MetaCons "TyVarI" 'ПрефиксI 'Ложь) (S1 ('MetaSel ('Ничего :: Возможно Символ) 'НетРазвернутостиИзИсточника 'НетСтрогостиИзИсточника 'РешеноЛениво) (Rec0 Имя) :*: S1 ('MetaSel ('Ничего :: Возможно Символ) 'НетРазвернутостиИзИсточника 'НетСтрогостиИзИсточника 'РешеноЛениво) (Rec0
Type))))))

type CharPos Source

Аргументы

= (Int, Int)

Позиция строки и символа

data Loc Source

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

Loc

Поля

  • loc_filename :: String
  • loc_package :: String
  • loc_module :: String
  • loc_start :: CharPos
  • loc_end :: CharPos
Экземпляры
Подробности о экземплярах
Eq Loc
Подробности о экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: Loc -> Loc -> Bool Source

(/=) :: Loc -> Loc -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Loc -> c Loc Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Loc Source

toConstr :: Loc -> Constr Source

dataTypeOf :: Loc -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Loc) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Loc) Source

gmapT :: (forall b. Data b => b -> b) -> Loc -> Loc Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Loc -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Loc -> r Source

gmapQ :: (forall d. Data d => d -> u) -> Loc -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> Loc -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Loc -> m Loc Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Loc -> m Loc Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Loc -> m Loc Source

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep Loc :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Ppr

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep Loc = D1 ('MetaData "Loc" "Language.Haskell.TH.Syntax" "template-haskell" '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 NameIs Source

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

Alone
Applied
Infix

type Uniq = Integer Source

Uniq используется GHC для различения имён.

data NameSpace Source

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

VarName

Переменные

DataName

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

TcClsName

Конструкторы типов и классы; в Haskell они пока находятся в одном пространстве имён.

Экземпляры
Подробности экземпляров
Eq NameSpace
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

Определено в Language.Haskell.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 Источник

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep NameSpace :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep NameSpace = D1 ('MetaData "NameSpace" "Language.Haskell.TH.Syntax" "template-haskell" '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)))

data ТипИмени Исходный код

Краткое описание конструкторов

NameS

Неквалифицированное имя; динамически связанное

NameQ ModName

Квалифицированное имя; динамически связанное

NameU !Uniq

Уникальное локальное имя

NameL !Uniq

Локальное имя, связанное вне TH AST

NameG NameSpace PkgName ModName

Глобальное имя, связанное вне TH AST: Оригинальное имя (только вхождения, не связывающие переменные). Необходимо также пространство имён, чтобы точно знать, какое имя мы имеем в виду

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

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: NameFlavour -> NameFlavour -> Bool Source

(/=) :: NameFlavour -> NameFlavour -> Bool Source

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

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NameFlavour -> c NameFlavour Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NameFlavour Source

toConstr :: NameFlavour -> Constr Source

dataTypeOf :: NameFlavour -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NameFlavour) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NameFlavour) Source

gmapT :: (forall b. Data b => b -> b) -> NameFlavour -> NameFlavour Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NameFlavour -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NameFlavour -> r Source

gmapQ :: (forall d. Data d => d -> u) -> NameFlavour -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> NameFlavour -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NameFlavour -> m NameFlavour Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NameFlavour -> m NameFlavour Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NameFlavour -> m NameFlavour Source

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

Определено в Language.Haskell.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 Исходный код

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

Определено в Language.Haskell.TH.Syntax

Методы

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

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

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

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

Определено в Language.Haskell.TH.Syntax

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

type Rep NameFlavour :: Type -> Type Исходный код

Методы

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

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

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

Определено в Language.Haskell.TH.Syntax

type Rep NameFlavour = D1 ('MetaData "NameFlavour" "Language.Haskell.TH.Syntax" "template-haskell" '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))))))

newtype OccName Source

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

OccName String
Экземпляры
Подробности экземпляров
Eq OccName
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

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

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

Data OccName
Подробности экземпляра

Определено в Language.Haskell.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 Источник

Ord OccName
Подробности экземпляра

Определено в Language.Haskell.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 Исходный код

Show OccName
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

showsPrec :: Int -> OccName -> ShowS Исходный код

show :: OccName -> String Исходный код

showList :: [OccName] -> ShowS Исходный код

Generic OccName
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Связанные типы

type Rep OccName :: Тип -> Тип Исходный код

Методы

from :: OccName -> Rep OccName x Исходный код

to :: Rep OccName x -> OccName Исходный код

type Rep OccName
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

type Rep OccName = D1 ('MetaData "OccName" "Language.Haskell.TH.Syntax" "template-haskell" 'true) (C1 ('MetaCons "OccName" 'PrefixI 'false) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

data Модуль Исходный код

Получено из reifyModule и thisModule.

Конструкторы

Модуль PkgName ModName
Экземпляры
Подробности экземпляров
Eq Module
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: Module -> Module -> Bool Source

(/=) :: Module -> Module -> Bool Source

Data Module
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Module -> c Module Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Module Source

toConstr :: Module -> Constr Source

dataTypeOf :: Module -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Module) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Module) Source

gmapT :: (forall b. Data b => b -> b) -> Module -> Module Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Module -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Module -> r Source

gmapQ :: (forall d. Data d => d -> u) -> Module -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> Module -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Module -> m Module Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Module -> m Module Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Module -> m Module Source

Ord Module
Подробные сведения об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

compare :: Модуль -> Модуль -> Порядок Исходный код

(<) :: Модуль -> Модуль -> Булево Исходный код

(<=) :: Модуль -> Модуль -> Булево Исходный код

(>) :: Модуль -> Модуль -> Булево Исходный код

(>=) :: Модуль -> Модуль -> Булево Исходный код

max :: Модуль -> Модуль -> Модуль Исходный код

min :: Модуль -> Модуль -> Модуль Исходный код

Вывод Модуль
Подробные сведения об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

showsPrec :: Целое -> Модуль -> ShowS Исходный код

show :: Модуль -> Строка Исходный код

showList :: [Модуль] -> ShowS Исходный код

Обобщенный Модуль
Подробные сведения об экземпляре

Определено в Language.Haskell.TH.Syntax

Связанные типы

type Rep Модуль :: Тип -> Тип Исходный код

Методы

from :: Модуль -> Rep Модуль x Исходный код

to :: Rep Модуль x -> Модуль Исходный код

Ppr Модуль
Подробные сведения об экземпляре

Определено в Language.Haskell.TH.Ppr

Методы

ppr :: Модуль -> Документ Исходный код

ppr_list :: [Модуль] -> Документ Исходный код

type Rep Модуль
Подробные сведения об экземпляре

Определено в Language.Haskell.TH.Syntax

type Rep Модуль = D1 ('MetaData "Модуль" "Language.Haskell.TH.Syntax" "template-haskell" 'Ложь) (C1 ('MetaCons "Модуль" 'PrefixI 'Ложь) (S1 ('MetaSel ('Ничего :: Может быть Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Имя пакета) :*: S1 ('MetaSel ('Ничего :: Может быть Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Имя модуля)))

newtype PkgName Source

Конструкторы

PkgName String
Экземпляры
Подробности об экземплярах
Eq PkgName
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: PkgName -> PkgName -> Bool Source

(/=) :: PkgName -> PkgName -> Bool Source

Data PkgName
Подробности об экземпляре

Определено в Language.Haskell.TH.Syntax

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PkgName -> c PkgName Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PkgName Source

toConstr :: PkgName -> Constr Source

dataTypeOf :: PkgName -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PkgName) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PkgName) Source

gmapT :: (forall b. Data b => b -> b) -> PkgName -> PkgName Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PkgName -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PkgName -> r Source

gmapQ :: (forall d. Data d => d -> u) -> PkgName -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> PkgName -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PkgName -> m PkgName Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PkgName -> m PkgName Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PkgName -> m PkgName Source

Ord PkgName
Подробности экземпляра

Определено в Language.Haskell.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 Исходный код

Show PkgName
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

showsPrec :: Int -> PkgName -> ShowS Исходный код

show :: PkgName -> String Исходный код

showList :: [PkgName] -> ShowS Исходный код

Generic PkgName
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Связанные типы

type Rep PkgName :: Type -> Type Исходный код

Методы

from :: PkgName -> Rep PkgName x Исходный код

to :: Rep PkgName x -> PkgName Исходный код

type Rep PkgName
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

type Rep PkgName = D1 ('MetaData "PkgName" "Language.Haskell.TH.Syntax" "template-haskell" 'True) (C1 ('MetaCons "PkgName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

newtype ИмяМодуля Исходный код

Конструкторы

ИмяМодуля Строка
Экземпляры
Подробности экземпляров
Eq ModName
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

(==) :: ModName -> ModName -> Bool Источник

(/=) :: ModName -> ModName -> Bool Источник

Data ModName
Подробности экземпляра

Определено в Language.Haskell.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 Источник

Ord ModName
Подробности экземпляра

Определено в Language.Haskell.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 Источник

Show ModName
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

showsPrec :: Int -> ModName -> ShowS Источник

show :: ModName -> String Источник

showList :: [ModName] -> ShowS Источник

Generic ModName
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Связанные типы

type Rep ModName :: Type -> Type Источник

Методы

from :: ModName -> Rep ModName x Источник

to :: Rep ModName x -> ModName Источник

type Rep ModName
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

type Rep ModName = D1 ('MetaData "ModName" "Language.Haskell.TH.Syntax" "template-haskell" 'True) (C1 ('MetaCons "ModName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

class (MonadIO m, MonadFail m) => Quasi m where Источник

Минимальное полное определение

qNewName, qReport, qRecover, qLookupName, qReify, qReifyFixity, qReifyType, qReifyInstances, qReifyRoles, qReifyAnnotations, qReifyModule, qReifyConStrictness, qLocation, qAddDependentFile, qAddTempFile, qAddTopDecls, qAddForeignFilePath, qAddModFinalizer, qAddCorePlugin, qGetQ, qPutQ, qIsExtEnabled, qExtsEnabled

Краткое описание методов

qNewName Source

Аргументы

:: String
-> m Name

Новые имена

qReport Source

Аргументы

:: Bool
-> String
-> m ()

Сообщить об ошибке (True) или предупреждении (False) ...но продолжить; использовать fail для остановки

qRecover Source

Аргументы

:: m a

обработчик ошибок

-> m a

действие, которое может завершиться ошибкой

-> m a

Восстановление из монадического fail

qLookupName :: Bool -> String -> m (Maybe Name) Source

qReify :: Name -> m Info Source

qReifyFixity :: Name -> m (Maybe Fixity) Source

qReifyType :: Name -> m Type Source

qReifyInstances :: Name -> [Type] -> m [Dec] Source

qReifyRoles :: Name -> m [Role] Source

qReifyAnnotations :: Data a => AnnLookup -> m [a] Source

qReifyModule :: Module -> m ModuleInfo Source

qReifyConStrictness :: Name -> m [DecidedStrictness] Source

qLocation :: m Loc Source

qRunIO :: IO a -> m a Source

qAddDependentFile :: FilePath -> m () Source

qAddTempFile :: String -> m FilePath Source

qAddTopDecls :: [Dec] -> m () Source

qAddForeignFilePath :: ForeignSrcLang -> String -> m () Source

qAddModFinalizer :: Q () -> m () Source

qAddCorePlugin :: String -> m () Source

qGetQ :: Typeable a => m (Maybe a) Source

qPutQ :: Typeable a => a -> m () Source

qIsExtEnabled :: Extension -> m Bool Source

qExtsEnabled :: m [Extension] Source

Экземпляры
Подробности экземпляров
Quasi IO
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Методы

qNewName :: String -> IO Name Source

qReport :: Bool -> String -> IO () Source

qRecover :: IO a -> IO a -> IO a Source

qLookupName :: Bool -> String -> IO (Maybe Name) Source

qReify :: Name -> IO Info Source

qReifyFixity :: Name -> IO (Maybe Fixity) Source

qReifyType :: Name -> IO Type Source

qReifyInstances :: Name -> [Type] -> IO [Dec] Source

qReifyRoles :: Name -> IO [Role] Source

qReifyAnnotations :: Data a => AnnLookup -> IO [a] Source

qReifyModule :: Module -> IO ModuleInfo Source

qReifyConStrictness :: Name -> IO [DecidedStrictness] Source

qLocation :: IO Loc Source

qRunIO :: IO a -> IO a Source

qAddDependentFile :: FilePath -> IO () Source

qAddTempFile :: String -> IO FilePath Source

qAddTopDecls :: [Dec] -> IO () Source

qAddForeignFilePath :: ForeignSrcLang -> String -> IO () Source

qAddModFinalizer :: Q () -> IO () Source

qAddCorePlugin :: String -> IO () Source

qGetQ :: Typeable a => IO (Maybe a) Source

qPutQ :: Typeable a => a -> IO () Source

qIsExtEnabled :: Extension -> IO Bool Source

qExtsEnabled :: IO [Extension] Source

Quasi Q
Подробности экземпляра

Определено в Language.Haskell.TH.Syntax

Краткое описание методов

qNewName :: String -> Q Name Source

qReport :: Bool -> String -> Q () Source

qRecover :: Q a -> Q a -> Q a Source

qLookupName :: Bool -> String -> Q (Maybe Name) Source

qReify :: Name -> Q Info Source

qReifyFixity :: Name -> Q (Maybe Fixity) Source

qReifyType :: Name -> Q Type Source

qReifyInstances :: Name -> [Type] -> Q [Dec] Source

qReifyRoles :: Name -> Q [Role] Source

qReifyAnnotations :: Data a => AnnLookup -> Q [a] Source

qReifyModule :: Module -> Q ModuleInfo Source

qReifyConStrictness :: Name -> Q [DecidedStrictness] Source

qLocation :: Q Loc Source

qRunIO :: IO a -> Q a Source

qAddDependentFile :: FilePath -> Q () Source

qAddTempFile :: String -> Q FilePath Source

qAddTopDecls :: [Dec] -> Q () Source

qAddForeignFilePath :: ForeignSrcLang -> String -> Q () Source

qAddModFinalizer :: Q () -> Q () Source

qAddCorePlugin :: String -> Q () Source

qGetQ :: Typeable a => Q (Maybe a) Source

qPutQ :: Typeable a => a -> Q () Source

qIsExtEnabled :: Extension -> Q Bool Source

qExtsEnabled :: Q [Extension] Source

badIO :: Строка -> IO a Источник

counter :: IORef Уникальный Источник

runQ :: Quasi m => Q a -> m a Источник

report :: Булево -> Строка -> Q () Источник

Устарело: Используйте reportError или reportWarning вместо этого

Сообщить об ошибке (True) или предупреждении (False), но продолжить; используйте fail для остановки.

reportError :: Строка -> Q () Источник

Сообщить пользователю об ошибке, но разрешить продолжение вычисления текущего сплейса. Для прерывания вычисления используйте fail.

reportWarning :: Строка -> Q () Источник

Сообщить пользователю о предупреждении и продолжить.

recover Источник

Аргументы

:: Q a

обработчик для вызова при ошибке

-> Q a

вычисление для выполнения

-> Q a

Восстановление после ошибок, поднятых reportError или fail.

lookupName :: Булево -> Строка -> Q (Может Имя) Источник

lookupTypeName :: Строка -> Q (Может Имя) Источник

Поиск заданного имени в области видимости (пространстве имен типов) текущего сплейса. Для получения дополнительной информации см. Language.Haskell.TH.Syntax.

lookupValueName :: Строка -> Q (Может Имя) Источник

Поиск заданного имени в области видимости (пространстве имен значений) текущего сплейса. Для получения дополнительной информации см. Language.Haskell.TH.Syntax.

reify :: Имя -> Q Информация Источник

reify ищет информацию об Name.

Иногда полезно создать имя аргумента с помощью lookupTypeName или lookupValueName, чтобы убедиться, что мы реифицируем из правильного пространства имен. Например, в данном контексте:

data D = D

что D reify (mkName "D") возвращает информацию о? (Ответ: D — типе, но не полагайтесь на это.) Чтобы получить информацию о D — значении, используйте lookupValueName:

do
  Just nm <- lookupValueName "D"
  reify nm

и чтобы получить информацию о D — типе, используйте lookupTypeName.

reifyFixity :: Имя -> Q (Может Фиксированность) Источник

reifyFixity nm пытается найти объявление фиксированности для nm. Например, если функция foo имеет объявление фиксированности infixr 7 foo, то reifyFixity 'foo вернёт Just (Fixity 7 InfixR). Если у функции bar нет объявления фиксированности, то reifyFixity 'bar возвращает Nothing, поэтому вы можете предположить, что у bar есть defaultFixity.

reifyType :: Имя -> Q Тип Источник

reifyType nm пытается найти тип или вид nm. Например, reifyType 'not возвращает Bool -> Bool, а reifyType ''Bool возвращает Type. Это работает даже если нет явного подписи, а тип или вид выводятся.

reifyInstances :: Имя -> [Тип] -> Q [ОбъявлениеInstance] Источник

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") ] генерирует каждый доступный экземпляр Eq

Существует один граничный случай: reifyInstances ''Typeable tys в настоящее время всегда возвращает пустой список (независимо от того, какие tys предоставлены).

reifyRoles :: Имя -> Q [Роль] Источник

reifyRoles nm возвращает список ролей, связанных с параметрами тиконструктора nm. Возвращает ошибку, если nm не найден или не является тиконструктором. Возвращаемый список никогда не должен содержать InferR.

reifyAnnotations :: Data a => AnnLookup -> Q [a] Source

Возвращает список аннотаций, связанных с target. Возвращаются только аннотации с соответствующим типом. Поэтому, если у вас есть аннотации Int и String для одного и того же объекта, вам нужно вызвать эту функцию дважды.

reifyModule :: Module -> Q ModuleInfo Source

Ищет информацию о модуле mod. Чтобы найти текущий модуль, вызовите эту функцию со значением, возвращаемым thisModule.

reifyConStrictness :: Name -> Q [DecidedStrictness] Source

Ищет информацию о строгости полей конструктора с именем nm. Обратите внимание, что информация о строгости, возвращаемая reifyConStrictness, может не соответствовать тому, что записано в исходном коде. Например, в следующем объявлении данных:

data Pair a = Pair a a

reifyConStrictness в большинстве случаев вернёт [DecidedLazy, DecidedLazy], но вернёт [DecidedStrict, DecidedStrict], если включена расширение языка -XStrictData.

isInstance :: Name -> [Type] -> Q Bool Source

Список инстансов, возвращаемый reifyInstances, не пустой?

location :: Q Loc Source

Местоположение, в котором выполняется это вычисление.

runIO :: IO a -> Q a Source

Функция runIO позволяет выполнить вычисление ввода-вывода в монаде Q. Обратите внимание: гарантируется порядок вызовов runIO в пределах одного вычисления Q, но не порядок, в котором выполняются вставки.

Примечание: по различным причинам, ручка stdout и stderr не обязательно сбрасываются при завершении компиляции, поэтому вам следует сбросить их самостоятельно.

addDependentFile :: FilePath -> Q () Source

Записывает внешние файлы, используемые runIO (зависимые). Компилятор может распознать, что необходимо перекомпилировать файл Haskell при изменении внешнего файла.

Ожидается абсолютный путь к файлу.

Примечания:

  • ghc -M не знает о таких зависимостях — он не выполняет TH.
  • Зависимость основана на содержимом файла, а не на времени его изменения.

addTempFile :: String -> Q FilePath Source

Получение временного пути к файлу с заданным суффиксом. Компилятор удалит этот файл после компиляции.

addTopDecls :: [Dec] -> Q () Source

Добавление дополнительных объявлений верхнего уровня. Добавляемые объявления будут проверены на соответствие типу вместе с текущей группой объявлений.

addForeignFile :: ForeignSrcLang -> String -> Q () Source

Устарело: Используйте addForeignSource вместо этого.

addForeignSource :: ForeignSrcLang -> String -> Q () Source

Генерирует внешний файл, который будет скомпилирован и связан с объектом текущего модуля. В настоящее время поддерживаются только языки, которые можно скомпилировать с помощью компилятора C, и флаги, переданные в качестве части -optc, также будут применены к вызову компилятора C, который будет их компилировать.

Обратите внимание, что для языков, отличных от C (например, C++), необходимо использовать директивы extern C для получения символов, к которым мы можем получить доступ из Haskell.

Для получения более информативных ошибок рекомендуется использовать псевдокоманды #line при генерации файлов C, например:

{-# LANGUAGE CPP #-}
...
addForeignSource LangC $ unlines
  [ "#line " ++ show (562 + 1) ++ " " ++ show "libraries/template-haskell/./Language/Haskell/TH/Syntax.hs"
  , ...
  ]

addForeignFilePath :: ForeignSrcLang -> FilePath -> Q () Source

То же, что и addForeignSource, но ожидает получить путь к внешнему файлу вместо String его содержимого. Рассмотрите использование этого в сочетании с addTempFile.

Это хорошая альтернатива addForeignSource при попытке непосредственного подключения объектного файла.

addModFinalizer :: Q () -> Q () Source

Добавление финализатора, который будет выполнен в монаде Q после проверки типа текущего модуля. Это имеет смысл только при выполнении вставки верхнего уровня.

Финализатору передается локальная среда типов в точке вставки. Таким образом, reify может найти локальные определения при выполнении внутри финализатора.

addCorePlugin :: String -> Q () Source

Добавление ядра плагина в конвейер компиляции.

addCorePlugin m имеет почти тот же эффект, что и передача -fplugin=m в ghc в командной строке. Основное отличие состоит в том, что модуль плагина m не должен принадлежать текущему пакету. Когда TH выполняется, уже слишком поздно сообщить компилятору, что нам сначала необходимо скомпилировать модуль плагина в текущем пакете.

getQ :: Typeable a => Q (Maybe a) Source

Получение состояния из монады Q. Обратите внимание, что состояние локально для модуля Haskell, в котором выполняется выражение Template Haskell.

putQ :: Typeable a => a -> Q () Source

Замените состояние в Q монаде. Обратите внимание, что состояние локально для модуля Haskell, в котором выполняется выражение Template Haskell.

isExtEnabled :: Расширение -> Q Bool Исходный код

Определите, включено ли данное языковое расширение в Q монаде.

extsEnabled :: Q [Расширение] Исходный код

Список всех включённых языковых расширений.

trueName :: Имя Исходный код

falseName :: Имя Исходный код

nothingName :: Имя Исходный код

justName :: Имя Исходный код

leftName :: Имя Исходный код

rightName :: Имя Исходный код

nonemptyName :: Имя Исходный код

dataToQa :: forall a k q. Данные a => (Имя -> k) -> (Лит -> Q q) -> (k -> [Q q] -> Q q) -> (forall b. Данные b => b -> Может быть (Q q)) -> a -> Q q Исходный код

dataToQa — это внутренняя вспомогательная функция для построения универсальных функций преобразования из типов с Data экземплярами в различные представления квази-цитирования. Смотрите исходный код dataToExpQ и dataToPatQ для двух примеров использования: mkCon, mkLit и appQ перегружаемы для учёта различного синтаксиса выражений и шаблонов; antiQ позволяет вам переопределять типы-специфичные случаи, распространённое использование — просто const Nothing, что приводит к отсутствию перегрузки.

dataToExpQ :: Данные a => (forall b. Данные b => b -> Может быть (Q Выражение)) -> a -> Q Выражение Исходный код

dataToExpQ преобразует значение в представление 'Q Exp' того же значения в стиле SYB. Оно обобщается, чтобы принять функцию для переопределения типов-специфичных случаев; см. liftData для более часто используемого варианта.

liftData :: Данные a => a -> Q Выражение Исходный код

liftData — это вариант lift в Lift типе класса, который работает для любого типа с Data экземпляром.

dataToPatQ :: Данные a => (forall b. Данные b => b -> Может быть (Q Шаблон)) -> a -> Q Шаблон Исходный код

dataToPatQ преобразует значение в представление 'Q Pat' того же значения в стиле SYB. Принимает функцию для обработки типов-специфичных случаев, альтернативно, передайте const Nothing, чтобы получить поведение по умолчанию.

mkModName :: Строка -> ИмяМодуля Исходный код

modString :: ИмяМодуля -> Строка Исходный код

mkPkgName :: Строка -> ИмяПакета Исходный код

pkgString :: ИмяПакета -> Строка Исходный код

mkOccName :: Строка -> ИмяИспользуемогоИмени Исходный код

occString :: ИмяИспользуемогоИмени -> Строка Исходный код

nameBase :: Имя -> Строка Исходный код

Имя без префикса модуля.

Примеры
Развернуть
>>> nameBase ''Data.Either.Either
"Either"
>>> nameBase (mkName "foo")
"foo"
>>> nameBase (mkName "Module.foo")
"foo"

nameModule :: Имя -> Может быть Строка Исходный код

Префикс модуля имени, если он существует.

END_OF_DOCUMENT_MARKER
Примеры
Развернуть
>>> nameModule ''Data.Either.Either
Just "Data.Either"
>>> nameModule (mkName "foo")
Nothing
>>> nameModule (mkName "Module.foo")
Just "Module"

namePackage :: Имя -> Возможно Строка Исходный код

Пакет имени, если он существует.

Примеры
Развернуть
>>> namePackage ''Data.Either.Either
Just "base"
>>> namePackage (mkName "foo")
Nothing
>>> namePackage (mkName "Module.foo")
Nothing

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

mkNameU :: Строка -> Уникальный -> Имя Исходный код

Используется только внутри

mkNameG :: ИмяПространства -> Строка -> Строка -> Строка -> Имя Исходный код

Используется для 'x и т. д., но недоступно программисту

showName :: Имя -> Строка Исходный код

showName' :: NameIs -> Имя -> Строка Исходный код

tupleDataName :: Целое -> Имя Исходный код

Конструктор данных кортежа

tupleTypeName :: Целое -> Имя Исходный код

Конструктор типа кортежа

unboxedTupleDataName :: Целое -> Имя Исходный код

Конструктор данных необработанного кортежа

unboxedTupleTypeName :: Целое -> Имя Исходный код

Конструктор типа необработанного кортежа

mk_tup_name :: Целое -> ИмяПространства -> Булево -> Имя Исходный код

unboxedSumDataName :: SumAlt -> SumArity -> Имя Исходный код

Конструктор данных необработанной суммы

unboxedSumTypeName :: SumArity -> Имя Исходный код

Конструктор типа необработанной суммы

maxPrecedence :: Целое Исходный код

Наивысший разрешенный приоритет оператора для Fixity конструктора (ответ: 9)

defaultFixity :: Fixity Исходный код

Значение по умолчанию fixity: infixl 9

cmpEq :: Порядок -> Булево Исходный код

thenCmp :: Порядок -> Порядок -> Порядок Исходный код

Языковые расширения

module Language.Haskell.TH.LanguageExtensions

data ForeignSrcLang Исходный код

Форматы внешних данных, поддерживаемые GHC через TH

Конструкторы

LangC

C

LangCxx

C++

LangObjc

Objective C

LangObjcxx

Objective C++

LangAsm

Язык ассемблера (.s)

RawObject

Объект (.o)

Примеры использования
Подробности примеров использования
Eq ForeignSrcLang
Подробности примера использования

Определено в GHC.ForeignSrcLang.Type

Методы

== :: ForeignSrcLang -> ForeignSrcLang -> Bool Исходный код

/= :: ForeignSrcLang -> ForeignSrcLang -> Bool Исходный код

Show ForeignSrcLang
Подробности примера использования

Определено в GHC.ForeignSrcLang.Type

Методы

showsPrec :: Int -> ForeignSrcLang -> ShowS Исходный код

show :: ForeignSrcLang -> Строка Исходный код

showList :: [ForeignSrcLang] -> ShowS Исходный код

Generic ForeignSrcLang
Подробности примера использования

Определено в GHC.ForeignSrcLang.Type

Связанные типы

type Rep ForeignSrcLang :: Тип -> Тип Исходный код

Методы

from :: ForeignSrcLang -> Rep ForeignSrcLang x Исходный код

to :: Rep ForeignSrcLang x -> ForeignSrcLang Исходный код

type Rep ForeignSrcLang
Подробности примера использования

Определено в GHC.ForeignSrcLang.Type

type Rep ForeignSrcLang = D1 ('MetaData "ForeignSrcLang" "GHC.ForeignSrcLang.Type" "ghc-boot-th-8.10.2" 'False) ((C1 ('MetaCons "LangC" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: ...

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/template-haskell-2.16.0.0/Language-Haskell-TH-Syntax.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API