GHC.Generics
| Авторские права | (c) Universiteit Utrecht 2010-2011 University of Oxford 2012-2014 |
|---|---|
| Лицензия | см. libraries/base/LICENSE |
| Ответственный | libraries@haskell.org |
| Стабильность | внутренняя |
| Переносимость | непереносимый |
| Безопасный Haskell | Safe |
| Язык | Haskell2010 |
Описание
Если вы используете GHC.Generics, рассмотрите возможность использования пакета http://hackage.haskell.org/package/generic-deriving, содержащего множество полезных обобщённых функций.
С версии: base-4.6.0.0
Введение
Функции, обобщённые по типам данных, основаны на идее преобразования значений типа данных T в соответствующие значения (почти) изоморфного типа Rep T. Тип Rep T строится из ограниченного набора конструкторов типов, предоставляемых этим модулем. Функция, обобщённая по типам данных, — это перегруженная функция с экземплярами для большинства этих конструкторов типов и обёрткой, выполняющей преобразование между T и Rep T. Используя этот подход, нам нужны лишь несколько обобщённых экземпляров, чтобы реализовать функциональность, работающую для любого представимого типа.
Представимые типы объединены в классе Generic, который определяет ассоциированный тип Rep, а также функции преобразования from и to. Обычно экземпляры Generic не определяют вручную — вместо этого компилятор выводит их за вас.
Представление типов данных
Чтобы определять собственные функции, обобщённые по типам данных, важно понять, как представлять типы данных с помощью заданного набора конструкторов типов.
Для начала рассмотрим пример:
data Tree a = Leaf a | Node (Tree a) (Tree a) deriving Generic
Приведённое выше объявление (для которого требуется языковая прагма DeriveGeneric) приводит к созданию следующего представления:
instance Generic (Tree a) where type Rep (Tree a) = D1 ('MetaData "Tree" "Main" "package-name" 'False) (C1 ('MetaCons "Leaf" 'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Node" 'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Tree a)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Tree a)))) ...
Подсказка: Получить сведения о коде, генерируемом GHC, можно, передав флаг -ddump-deriv. В GHCi можно раскрыть семейство типов, например Rep, с помощью команды :kind!.
Информации довольно много! Однако большая её часть — это всего лишь метаинформация, которая делает имена типов данных, конструкторов и другие сведения доступными на уровне типов.
Ниже приведено упрощённое представление Tree, из которого пока удалена почти вся метаинформация и оставлены только самые важные элементы:
instance Generic (Tree a) where type Rep (Tree a) = Rec0 a :+: (Rec0 (Tree a) :*: Rec0 (Tree a))
Тип данных Tree имеет два конструктора. Представления отдельных конструкторов объединяются с помощью бинарного конструктора типов :+:.
Первый конструктор состоит из одного поля — параметра a. Оно представлено как Rec0 a.
Второй конструктор состоит из двух полей. Оба поля рекурсивные, типа Tree a, и представлены как Rec0 (Tree a). Представления отдельных полей объединяются с помощью бинарного конструктора типов :*:.
Теперь разберём дополнительные теги, используемые в полном представлении:
- Тег
S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)указывает на несколько вещей.'Nothingозначает, что с этим полем конструктора не связан селектор поля записи (если бы он был, вместо этого использовалась бы метка'Just "recordName"). Остальные типы содержат метаинформацию о строгости поля: - В исходном коде нет аннотации
{-# UNPACK #-}или{-# NOUNPACK #-}, поэтому поле помечено как'NoSourceUnpackedness. - В исходном коде нет аннотации строгости (
!) или ленивости (~), поэтому поле помечено как'NoSourceStrictness. - Компилятор выводит, что поле ленивое, поэтому оно помечено как
'DecidedLazy. Помните, что решение компилятора может значительно отличаться от написанного в исходном коде. Более подробное объяснение см. вDecidedStrictness.
Тип 'MetaSel также является экземпляром класса типов Selector, который можно использовать для получения сведений о поле на уровне значений.
- Применения
C1 ('MetaCons "Leaf" 'PrefixI 'False)иC1 ('MetaCons "Node" 'PrefixI 'False)указывают, что заключённая в них часть является представлением первого и второго конструктора типа данныхTreeсоответственно. Здесь метаинформация об именах конструкторов, их фиксированности и наличии именованных полей закодирована на уровне типов. Тип'MetaConsтакже является экземпляром класса типовConstructor. Этот класс типов можно использовать для получения сведений о конструкторе на уровне значений. - Тег
D1 ('MetaData "Tree" "Main" "package-name" 'False)указывает, что заключённая в нём часть является представлением типа данныхTree. И здесь метаинформация закодирована на уровне типов. Тип'MetaDataявляется экземпляром классаDatatype, который можно использовать для получения имени типа данных, модуля, в котором он определён, пакета, к которому он относится, а также сведений о том, был ли он определён с помощьюdataилиnewtype, на уровне значений.
Производные и фундаментальные типы представления
Многие функции, обобщённые по типам данных, не различают позиции параметров и позиции рекурсивных вызовов. Многие такие функции также не интересуются именами типов данных и конструкторов. Чтобы свести к минимуму число случаев, которые нужно рассматривать в обобщённых функциях, оказывается, что многие введённые выше конструкторы типов на самом деле являются синонимами — вариантами меньшего набора конструкторов.
Отдельные поля конструкторов: K1
Конструктор типов Rec0 является вариантом K1:
type Rec0 = K1 R
Здесь R — прокси на уровне типов, с которым не связаны никакие значения.
Ранее существовал ещё один вариант K1 (а именно Par0), но впоследствии он был объявлен устаревшим.
Метаинформация: M1
Конструкторы типов S1, C1 и D1 — это варианты M1:
type S1 = M1 S type C1 = M1 C type D1 = M1 D
Типы S, C и D — это, опять же, прокси на уровне типов, используемые лишь для создания нескольких вариантов M1.
Дополнительные конструкторы типов обобщённого представления
Помимо K1, M1, :+: и :*:, существуют и другие конструкторы типов, встречающиеся в представлениях других типов данных.
Пустые типы данных: V1
Для пустых типов данных в качестве представления используется V1. Например,
data Empty deriving Generic
даёт
instance Generic Empty where type Rep Empty = D1 ('MetaData "Empty" "Main" "package-name" 'False) V1
Конструкторы без полей: U1
Если у конструктора нет аргументов, в качестве его представления используется U1. Например, представление Bool имеет вид
instance Generic Bool where type Rep Bool = D1 ('MetaData "Bool" "Data.Bool" "package-name" 'False) (C1 ('MetaCons "False" 'PrefixI 'False) U1 :+: C1 ('MetaCons "True" 'PrefixI 'False) U1)
Представление типов со множеством конструкторов или полей
Поскольку :+: и :*: — это просто бинарные операторы, может возникнуть вопрос: что происходит, если у типа данных больше двух конструкторов или у конструктора больше двух полей? Ответ прост: операторы используются несколько раз, чтобы объединить все конструкторы и поля по мере необходимости. Однако пользователям /не следует полагаться на конкретную стратегию вложения/ при использовании :+: и :*:. Компилятор может выбрать любую предпочтительную стратегию вложения. (На практике текущая реализация старается создавать более или менее сбалансированную структуру вложения, чтобы обход структуры типа данных от корня до конкретного компонента выполнялся за логарифмическое, а не линейное время.)
Определение функций, обобщённых по типам данных
Функция, обобщённая по типам данных, состоит из двух частей:
- Обобщённые экземпляры функции, реализующие её для большинства представленных выше конструкторов типов представления.
- Обёртка, которая для любого типа данных, входящего в
Generic, преобразует исходное значение в представление на основеRepи обратно, а затем вызывает обобщённые экземпляры.
В качестве примера рассмотрим функцию encode, которая создаёт простое, но обратимое битовое представление значений различных типов данных. Итак, мы хотим определить функцию
encode :: Generic a => a -> [Bool]
где в качестве типа битов мы используем Bool.
Для первой части определим класс Encode'. Возможно, это покажется неожиданным, но этот класс параметризован конструктором типов f вида * -> *. Это техническая особенность: все конструкторы типов представления используют в качестве базового типа вид * -> *. Однако аргумент типа нигде не используется. Возможно, в будущем это изменится. У класса есть единственный метод; мы берём тип, который хотим получить для итоговой функции, но заменяем вхождения обобщённого аргумента типа a на f p (где p — любой аргумент; он не будет использоваться).
class Encode' f where encode' :: f p -> [Bool]
Чтобы encode работала для Tree и других типов данных, теперь определим экземпляры для конструкторов типов представления V1, U1, :+:, :*:, K1 и M1.
Определение типов обобщённого представления
Для этого нужно знать точные определения этих типов:
data V1 p -- lifted version of Empty data U1 p = U1 -- lifted version of () data (:+:) f g p = L1 (f p) | R1 (g p) -- lifted version of Either data (:*:) f g p = (f p) :*: (g p) -- lifted version of (,) newtype K1 i c p = K1 { unK1 :: c } -- a container for a c newtype M1 i t f p = M1 { unM1 :: f p } -- a wrapper
Таким образом, U1 — это просто единичный тип, :+: — это бинарный выбор, подобный Either, :*: — это бинарная пара, подобная конструктору пары (,), а K1 — значение определённого типа c. Наконец, M1 оборачивает значение обобщённого аргумента типа, который в поднятом мире является f p (при этом нас не интересует p).
Обобщённые экземпляры
Для обработки случая V1 используем следующий код (для которого требуется прагма EmptyCase):
instance Encode' V1 where encode' x = case x of { }
Значений типа V1 p, которые можно было бы передать, не существует, поэтому вызвать эту функцию невозможно. Может возникнуть вопрос: зачем в таком случае вообще определять экземпляр для V1? Дело в том, что пустой тип можно использовать как аргумент непустого типа, и при этом может понадобиться закодировать получившийся тип. В качестве несколько надуманного примера рассмотрим [Empty]: это не пустой тип, но он содержит только пустой список. Экземпляр V1 гарантирует, что мы сможем вызвать обобщённую функцию для таких типов.
У типа U1 есть ровно одно значение, поэтому для его кодирования ничего знать не нужно — можно использовать ноль битов:
instance Encode' U1 where encode' U1 = []
В случае :+: мы выдаём False или True в зависимости от того, находится ли конструктор предоставленного значения слева или справа:
instance (Encode' f, Encode' g) => Encode' (f :+: g) where encode' (L1 x) = False : encode' x encode' (R1 x) = True : encode' x
(Обратите внимание, что эта стратегия кодирования может быть ненадёжной при использовании разных версий GHC. Поскольку компилятор может выбрать любое вложение :+:, если GHC выберет (a :+: b) :+: c, кодирование для a будет [False, False], для b — [False, True], а для c — [True]. Однако если GHC выберет a :+: (b :+: c), кодирование для a будет [False], для b — [True, False], а для c — [True, True].)
В случае :*: мы объединяем кодировки двух подкомпонентов:
instance (Encode' f, Encode' g) => Encode' (f :*: g) where encode' (x :*: y) = encode' x ++ encode' y
Случай K1 довольно интересен. Здесь мы рекурсивно вызываем итоговую функцию encode, которую ещё предстоит определить. Для неё используем другой класс типов Encode:
instance (Encode c) => Encode' (K1 i c) where encode' (K1 x) = encode x
Обратите внимание, что для M1 можно определить единый экземпляр, поскольку мы полностью игнорируем всю метаинформацию:
instance (Encode' f) => Encode' (M1 i t f) where encode' (M1 x) = encode' x
В отличие от K1, экземпляр для M1 ссылается на encode', а не на encode.
Обёртка и обобщённый метод по умолчанию
Теперь определим класс Encode для самой функции encode:
class Encode a where encode :: a -> [Bool] default encode :: (Generic a, Encode' (Rep a)) => a -> [Bool] encode x = encode' (from x)
Входное значение x преобразуется с помощью from, после чего мы вызываем обобщённые экземпляры с помощью encode'. Это определение используется как значение encode по умолчанию. Сигнатура default encode необходима, поскольку обычные методы Haskell по умолчанию не должны вводить дополнительные ограничения класса, а наш обобщённый метод по умолчанию это делает.
Теперь определить конкретный экземпляр так же просто, как написать
instance (Encode a) => Encode (Tree a)
Используется обобщённый метод по умолчанию. В будущем, возможно, удастся использовать также deriving Encode, но GHC пока не поддерживает такой синтаксис в этом случае.
Наличие Encode в качестве класса даёт преимущество: можно определять необобщённые частные случаи. Это особенно полезно для абстрактных типов данных, не имеющих структурного представления. Например, при наличии подходящей функции целочисленного кодирования encodeInt можно определить
instance Encode Int where encode = encodeInt
Пропуск обобщённых экземпляров
Не всегда требуется предоставлять экземпляры для всех типов обобщённого представления, однако пропуск экземпляров ограничивает набор типов данных, для которых будут работать функции:
- Если экземпляр
:+:не задан, функция может работать с пустыми типами данных или типами данных с одним конструктором, но не будет работать с типами данных, содержащими более одного конструктора. - Если экземпляр
:*:не задан, функция может работать с типами данных, у каждого конструктора которых ноль или одно поле, в частности с перечислениями. - Если экземпляр
K1не задан, функция может работать с перечислениями, у конструкторов которых нет полей. - Если экземпляр
V1не задан, функция может работать с любым непустым типом данных. - Если экземпляр
U1не задан, функция может работать с любым типом данных, у каждого конструктора которого есть хотя бы одно поле.
Экземпляр M1 требуется всегда (но он может просто игнорировать метаинформацию, как это сделано выше для encode).
- * Обобщённые классы конструкторов
|
Описанные выше функции, обобщённые по типам данных, работают с широким набором типов данных, включая параметризованные типы. (Выше в качестве примера мы использовали Tree вида * -> *.) Однако класс Generic охватывает типы вида *, поэтому результирующие обобщённые функции (например, encode) должны быть параметризованы обобщённым аргументом типа вида *.
Что, если мы хотим определить обобщённые классы, охватывающие конструкторы типов (например, Functor, Traversable или Foldable)?
Класс Generic1
Подобно Generic, существует класс Generic1, определяющий представление Rep1 и функции преобразования from1 и to1. Разница лишь в том, что Generic1 охватывает типы вида * -> *. (В более общем случае он может охватывать типы вида k -> * для любого вида k, если включено расширение PolyKinds. Подробнее об этом — ниже.) Класс Generic1 также можно вывести автоматически.
Представление Rep1 лишь немного отличается от Rep. Снова рассмотрим в качестве примера Tree:
data Tree a = Leaf a | Node (Tree a) (Tree a) deriving Generic1
Приведённое выше объявление приводит к созданию следующего представления:
instance Generic1 Tree where type Rep1 Tree = D1 ('MetaData "Tree" "Main" "package-name" 'False) (C1 ('MetaCons "Leaf" 'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "Node" 'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Tree) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Tree))) ...
В представлении повторно используются D1, C1, S1 (а значит, и M1), а также :+: и :*: из Rep. (Возможность повторного использования и объясняет, почему мы сохраняем фиктивный аргумент типа для типов вида *, хотя имён и без того уже достаточно, чтобы не дублировать каждое из них.)
Отличие заключается в том, что теперь мы используем Par1 для ссылки на параметр (который раньше был a) и нигде явно не называем этот параметр; а для ссылки на рекурсивное использование Tree a используем Rec1.
Представление типов * -> *
В отличие от Rec0, конструкторы типов Par1 и Rec1 не отображаются в K1. Они определены напрямую следующим образом:
newtype Par1 p = Par1 { unPar1 :: p } -- gives access to parameter p newtype Rec1 f p = Rec1 { unRec1 :: f p } -- a wrapper
В Par1 параметр p используется впервые, тогда как Rec1 просто оборачивает применение f к p.
Обратите внимание, что K1 (в виде Rec0) всё ещё может встречаться в представлении Rep1, а именно когда у типа данных есть поле, не использующее параметр.
Объявление
data WithInt a = WithInt Int a deriving Generic1
даёт
instance Generic1 WithInt where type Rep1 WithInt = D1 ('MetaData "WithInt" "Main" "package-name" 'False) (C1 ('MetaCons "WithInt" 'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))
Если параметр a встречается под композицией других конструкторов типов, то композиция будет присутствовать и в представлении:
data Rose a = Fork a [Rose a]
даёт
instance Generic1 Rose where type Rep1 Rose = D1 ('MetaData "Rose" "Main" "package-name" 'False) (C1 ('MetaCons "Fork" 'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 Rose)))
где
newtype (:.:) f g p = Comp1 { unComp1 :: f (g p) }
Представление типов k -> *
Класс Generic1 можно обобщить так, чтобы он охватывал типы вида k -> * для любого вида k. Для этого выведите экземпляр Generic1 при включённом расширении PolyKinds. Например, объявление
data Proxy (a :: k) = Proxy deriving Generic1
даёт немного различающиеся экземпляры в зависимости от того, включено ли PolyKinds. Если скомпилировать без PolyKinds, получится Rep1 Proxy :: * -> *, а если с PolyKinds, то Rep1 Proxy :: k -> *.
Представление неприподнятых типов
При попытке вывести экземпляр Generic для типа данных с неприподнятым аргументом (например, 'Int#') можно было бы ожидать, что вхождение аргумента 'Int#' будет помечено как Rec0 'Int#'. Однако это не сработает, поскольку 'Int#' имеет неприподнятый вид, а Rec0 ожидает тип вида *.
Одно из решений — представить вхождение 'Int#' с помощью 'Rec0 Int'. Однако при таком подходе программист не сможет определить, является ли Int на самом деле замаскированным 'Int#'.
Вместо повторного использования Rec0 для обозначения вхождений распространённых неприподнятых типов применяется отдельное семейство данных URec:
data family URec a p data instance URec (Ptr ()) p = UAddr { 'uAddr#' :: 'Addr#' } data instance URec Char p = UChar { 'uChar#' :: 'Char#' } data instance URec Double p = UDouble { 'uDouble#' :: 'Double#' } data instance URec Int p = UFloat { 'uFloat#' :: 'Float#' } data instance URec Float p = UInt { 'uInt#' :: 'Int#' } data instance URec Word p = UWord { 'uWord#' :: 'Word#' }
Для удобства предоставлено несколько синонимов типов:
type UAddr = URec (Ptr ()) type UChar = URec Char type UDouble = URec Double type UFloat = URec Float type UInt = URec Int type UWord = URec Word
Объявление
data IntHash = IntHash Int# deriving Generic
даёт
instance Generic IntHash where type Rep IntHash = D1 ('MetaData "IntHash" "Main" "package-name" 'False) (C1 ('MetaCons "IntHash" 'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) UInt))
Сейчас генерируются только шесть перечисленных выше неприподнятых типов, но в будущем список может быть расширен.
Типы обобщённого представления
Void: используется для типов данных без конструкторов
Экземпляры
| Generic1 (V1 :: k -> Type) Источник | |
Определено в GHC.Internal.Generics | |
| Foldable1 (V1 :: Type -> Type) Источник | Начиная с: base-4.18.0.0 |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => V1 m -> m Источник foldMap1 :: Semigroup m => (a -> m) -> V1 a -> m Источник foldMap1' :: Semigroup m => (a -> m) -> V1 a -> m Источник toNonEmpty :: V1 a -> NonEmpty a Источник maximum :: Ord a => V1 a -> a Источник minimum :: Ord a => V1 a -> a Источник foldrMap1 :: (a -> b) -> (a -> b -> b) -> V1 a -> b Источник foldlMap1' :: (a -> b) -> (b -> a -> b) -> V1 a -> b Источник foldlMap1 :: (a -> b) -> (b -> a -> b) -> V1 a -> b Источник foldrMap1' :: (a -> b) -> (a -> b -> b) -> V1 a -> b Источник | |
| Eq1 (V1 :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
| Ord1 (V1 :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Read1 (V1 :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (V1 a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [V1 a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (V1 a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [V1 a] Источник | |
| Show1 (V1 :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
| Contravariant (V1 :: Type -> Type) Источник | |
| Functor (V1 :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
| Foldable (V1 :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => V1 m -> m Источник foldMap :: Monoid m => (a -> m) -> V1 a -> m Источник foldMap' :: Monoid m => (a -> m) -> V1 a -> m Источник foldr :: (a -> b -> b) -> b -> V1 a -> b Источник foldr' :: (a -> b -> b) -> b -> V1 a -> b Источник foldl :: (b -> a -> b) -> b -> V1 a -> b Источник foldl' :: (b -> a -> b) -> b -> V1 a -> b Источник foldr1 :: (a -> a -> a) -> V1 a -> a Источник foldl1 :: (a -> a -> a) -> V1 a -> a Источник toList :: V1 a -> [a] Источник length :: V1 a -> Int Источник elem :: Eq a => a -> V1 a -> Bool Источник maximum :: Ord a => V1 a -> a Источник minimum :: Ord a => V1 a -> a Источник | |
| Traversable (V1 :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
| Semigroup (V1 p) Источник | Начиная с: base-4.12.0.0 |
| Eq (V1 p) Источник | Начиная с: base-4.9.0.0 |
| Ord (V1 p) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Data p => Data (V1 p) Источник | С версии: base-4.9.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V1 p -> c (V1 p) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V1 p) Источник toConstr :: V1 p -> Constr Источник dataTypeOf :: V1 p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V1 p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V1 p)) Источник gmapT :: (forall b. Data b => b -> b) -> V1 p -> V1 p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V1 p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V1 p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> V1 p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> V1 p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> V1 p -> m (V1 p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V1 p -> m (V1 p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V1 p -> m (V1 p) Источник | |
| Generic (V1 p) Источник | |
Определено в GHC.Internal.Generics | |
| Read (V1 p) Источник | С версии: base-4.9.0.0 |
| Show (V1 p) Источник | С версии: base-4.9.0.0 |
| type Rep1 (V1 :: k -> Type) Источник | С версии: base-4.9.0.0 |
| type Rep (V1 p) Источник | С версии: base-4.9.0.0 |
Единичный тип: используется для конструкторов без аргументов
Конструкторы
| U1 |
Экземпляры
Определён в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> U1 a -> f (U1 b) Исходный код sequenceA :: Applicative f => U1 (f a) -> f (U1 a) Исходный код mapM :: Monad m => (a -> m b) -> U1 a -> m (U1 b) Исходный код sequence :: Monad m => U1 (m a) -> m (U1 a) Исходный код | |
| Monoid (U1 p) Исходный код | Начиная с: base-4.12.0.0 |
Определён в GHC.Internal.Generics Методыmempty :: U1 p Исходный код mappend :: U1 p -> U1 p -> U1 p Исходный код mconcat :: [U1 p] -> U1 p Исходный код | |
| Semigroup (U1 p) Исходный код | Начиная с: base-4.12.0.0 |
Определён в GHC.Internal.Generics Методы(<>) :: U1 p -> U1 p -> U1 p Исходный код sconcat :: NonEmpty (U1 p) -> U1 p Исходный код stimes :: Integral b => b -> U1 p -> U1 p Исходный код | |
| Eq (U1 p) Исходный код | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Generics | |
| Ord (U1 p) Исходный код | Начиная с: base-4.7.0.0 |
Определён в GHC.Internal.Generics Методыcompare :: U1 p -> U1 p -> Ordering Исходный код (<) :: U1 p -> U1 p -> Bool Исходный код (<=) :: U1 p -> U1 p -> Bool Исходный код (>) :: U1 p -> U1 p -> Bool Исходный код (>=) :: U1 p -> U1 p -> Bool Исходный код max :: U1 p -> U1 p -> U1 p Исходный код min :: U1 p -> U1 p Исходный код | |
| Data p => Data (U1 p) Исходный код | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> U1 p -> c (U1 p) Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (U1 p) Исходный код toConstr :: U1 p -> Constr Исходный код dataTypeOf :: U1 p -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (U1 p)) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (U1 p)) Исходный код gmapT :: (forall b. Data b => b -> b) -> U1 p -> U1 p Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> U1 p -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> U1 p -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> U1 p -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> U1 p -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> U1 p -> m (U1 p) Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> U1 p -> m (U1 p) Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> U1 p -> m (U1 p) Исходный код | |
| Generic (U1 p) Исходный код | |
Определён в GHC.Internal.Generics | |
| Read (U1 p) Исходный код | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Generics МетодыreadsPrec :: Int -> ReadS (U1 p) Исходный код readList :: ReadS [U1 p] Исходный код readPrec :: ReadPrec (U1 p) Исходный код readListPrec :: ReadPrec [U1 p] Исходный код | |
| Show (U1 p) Исходный код | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Generics МетодыshowsPrec :: Int -> U1 p -> ShowS Исходный код show :: U1 p -> String Исходный код showList :: [U1 p] -> ShowS Исходный код | |
| type Rep1 (U1 :: k -> Type) Исходный код | Начиная с: base-4.9.0.0 |
| type Rep (U1 p) Исходный код | Начиная с: base-4.7.0.0 |
newtype Par1 p Исходный код
Используется для обозначения вхождений параметра
Экземпляры
| Foldable1 Par1 Источник | Начиная с: base-4.18.0.0 |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => Par1 m -> m Источник foldMap1 :: Semigroup m => (a -> m) -> Par1 a -> m Источник foldMap1' :: Semigroup m => (a -> m) -> Par1 a -> m Источник toNonEmpty :: Par1 a -> NonEmpty a Источник maximum :: Ord a => Par1 a -> a Источник minimum :: Ord a => Par1 a -> a Источник foldrMap1 :: (a -> b) -> (a -> b -> b) -> Par1 a -> b Источник foldlMap1' :: (a -> b) -> (b -> a -> b) -> Par1 a -> b Источник foldlMap1 :: (a -> b) -> (b -> a -> b) -> Par1 a -> b Источник foldrMap1' :: (a -> b) -> (a -> b -> b) -> Par1 a -> b Источник | |
| Eq1 Par1 Источник | Начиная с: base-4.21.0.0 |
| Ord1 Par1 Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Read1 Par1 Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Par1 a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Par1 a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Par1 a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Par1 a] Источник | |
| Show1 Par1 Источник | Начиная с: base-4.21.0.0 |
| Applicative Par1 Источник | Начиная с: base-4.9.0.0 |
| Functor Par1 Источник | Начиная с: base-4.9.0.0 |
| Monad Par1 Источник | Начиная с: base-4.9.0.0 |
| MonadFix Par1 Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Control.Monad.Fix | |
| MonadZip Par1 Источник | Начиная с: ghc-internal-4.9.0.0 |
| Foldable Par1 Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => Par1 m -> m Источник foldMap :: Monoid m => (a -> m) -> Par1 a -> m Источник foldMap' :: Monoid m => (a -> m) -> Par1 a -> m Источник foldr :: (a -> b -> b) -> b -> Par1 a -> b Источник foldr' :: (a -> b -> b) -> b -> Par1 a -> b Источник foldl :: (b -> a -> b) -> b -> Par1 a -> b Источник foldl' :: (b -> a -> b) -> b -> Par1 a -> b Источник foldr1 :: (a -> a -> a) -> Par1 a -> a Источник foldl1 :: (a -> a -> a) -> Par1 a -> a Источник toList :: Par1 a -> [a] Источник null :: Par1 a -> Bool Источник length :: Par1 a -> Int Источник elem :: Eq a => a -> Par1 a -> Bool Источник maximum :: Ord a => Par1 a -> a Источник minimum :: Ord a => Par1 a -> a Источник | |
| Traversable Par1 Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable | |
| Generic1 Par1 Источник | |
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Monoid p => Monoid (Par1 p) Исходный код | Начиная с: base-4.12.0.0 |
||||
Определено в GHC.Internal.Generics Методыmempty :: Par1 p Исходный код mappend :: Par1 p -> Par1 p -> Par1 p Исходный код mconcat :: [Par1 p] -> Par1 p Исходный код | |||||
| Semigroup p => Semigroup (Par1 p) Исходный код | Начиная с: base-4.12.0.0 |
||||
Определено в GHC.Internal.Generics Методы(<>) :: Par1 p -> Par1 p -> Par1 p Исходный код sconcat :: NonEmpty (Par1 p) -> Par1 p Исходный код stimes :: Integral b => b -> Par1 p -> Par1 p Исходный код | |||||
| Eq p => Eq (Par1 p) Исходный код | Начиная с: base-4.7.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| Ord p => Ord (Par1 p) Исходный код | Начиная с: base-4.7.0.0 |
||||
Определено в GHC.Internal.Generics Методыcompare :: Par1 p -> Par1 p -> Ordering Исходный код (<) :: Par1 p -> Par1 p -> Bool Исходный код (<=) :: Par1 p -> Par1 p -> Bool Исходный код (>) :: Par1 p -> Par1 p -> Bool Исходный код (>=) :: Par1 p -> Par1 p -> Bool Исходный код max :: Par1 p -> Par1 p -> Par1 p Исходный код min :: Par1 p -> Par1 p -> Par1 p Исходный код | |||||
| Data p => Data (Par1 p) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Par1 p -> c (Par1 p) Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Par1 p) Исходный код toConstr :: Par1 p -> Constr Исходный код dataTypeOf :: Par1 p -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Par1 p)) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Par1 p)) Исходный код gmapT :: (forall b. Data b => b -> b) -> Par1 p -> Par1 p Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Par1 p -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Par1 p -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Par1 p -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Par1 p -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Par1 p -> m (Par1 p) Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Par1 p -> m (Par1 p) Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Par1 p -> m (Par1 p) Исходный код | |||||
| Generic (Par1 p) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Read p => Read (Par1 p) Исходный код | Начиная с: base-4.7.0.0 |
||||
Определено в GHC.Internal.Generics МетодыreadsPrec :: Int -> ReadS (Par1 p) Исходный код readList :: ReadS [Par1 p] Исходный код readPrec :: ReadPrec (Par1 p) Исходный код readListPrec :: ReadPrec [Par1 p] Исходный код | |||||
| Show p => Show (Par1 p) Исходный код | Начиная с: base-4.7.0.0 |
||||
Определено в GHC.Internal.Generics МетодыshowsPrec :: Int -> Par1 p -> ShowS Исходный код show :: Par1 p -> String Исходный код showList :: [Par1 p] -> ShowS Исходный код | |||||
| type Rep1 Par1 Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| type Rep (Par1 p) Исходный код | Начиная с: base-4.7.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
newtype Rec1 (f :: k -> Type) (p :: k) Исходный код
Рекурсивные вызовы вида * -> * (или вида k -> *, если включён PolyKinds)
Экземпляры
| Generic1 (Rec1 f :: k -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: forall (a :: k). Rec1 f a -> Rep1 (Rec1 f) a Исходный код to1 :: forall (a :: k). Rep1 (Rec1 f) a -> Rec1 f a Исходный код | |||||
| Foldable1 f => Foldable1 (Rec1 f) Исходный код | Начиная с: base-4.18.0.0 |
||||
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => Rec1 f m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> Rec1 f a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> Rec1 f a -> m Исходный код toNonEmpty :: Rec1 f a -> NonEmpty a Исходный код maximum :: Ord a => Rec1 f a -> a Исходный код minimum :: Ord a => Rec1 f a -> a Исходный код head :: Rec1 f a -> a Исходный код last :: Rec1 f a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> Rec1 f a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> Rec1 f a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> Rec1 f a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> Rec1 f a -> b Исходный код | |||||
| Eq1 f => Eq1 (Rec1 f) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Ord1 f => Ord1 (Rec1 f) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> Rec1 f a -> Rec1 f b -> Ordering Исходный код | |||||
| Read1 f => Read1 (Rec1 f) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Rec1 f a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Rec1 f a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Rec1 f a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Rec1 f a] Исходный код | |||||
| Show1 f => Show1 (Rec1 f) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Rec1 f a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Rec1 f a] -> ShowS Исходный код | |||||
| Contravariant f => Contravariant (Rec1 f) Исходный код | |||||
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> Rec1 f a -> Rec1 f a' Исходный код (>$) :: b -> Rec1 f b -> Rec1 f a Исходный код | |||||
| Alternative f => Alternative (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыempty :: Rec1 f a Исходный код (<|>) :: Rec1 f a -> Rec1 f a -> Rec1 f a Исходный код some :: Rec1 f a -> Rec1 f [a] Исходный код many :: Rec1 f a -> Rec1 f [a] Исходный код | |||||
| Applicative f => Applicative (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыpure :: a -> Rec1 f a Исходный код (<*>) :: Rec1 f (a -> b) -> Rec1 f a -> Rec1 f b Исходный код liftA2 :: (a -> b -> c) -> Rec1 f a -> Rec1 f b -> Rec1 f c Исходный код (*>) :: Rec1 f a -> Rec1 f b -> Rec1 f b Исходный код (<*) :: Rec1 f a -> Rec1 f b -> Rec1 f a Исходный код | |||||
| Functor f => Functor (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыfmap :: (a -> b) -> Rec1 f a -> Rec1 f b Исходный код (<$) :: a -> Rec1 f b -> Rec1 f a Исходный код | |||||
| Monad f => Monad (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методы(>>=) :: Rec1 f a -> (a -> Rec1 f b) -> Rec1 f b Исходный код (>>) :: Rec1 f a -> Rec1 f b -> Rec1 f b Исходный код return :: a -> Rec1 f a Исходный код | |||||
| MonadPlus f => MonadPlus (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| MonadFix f => MonadFix (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Control.Monad.Fix Методыmfix :: (a -> Rec1 f a) -> Rec1 f a Исходный код | |||||
| MonadZip f => MonadZip (Rec1 f) Исходный код | Начиная с: ghc-internal-4.9.0.0 |
||||
Определено в GHC.Internal.Control.Monad.Zip Методыmzip :: Rec1 f a -> Rec1 f b -> Rec1 f (a, b) Исходный код mzipWith :: (a -> b -> c) -> Rec1 f a -> Rec1 f b -> Rec1 f c Исходный код munzip :: Rec1 f (a, b) -> (Rec1 f a, Rec1 f b) Исходный код | |||||
| Foldable f => Foldable (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => Rec1 f m -> m Исходный код foldMap :: Monoid m => (a -> m) -> Rec1 f a -> m Исходный код foldMap' :: Monoid m => (a -> m) -> Rec1 f a -> m Исходный код foldr :: (a -> b -> b) -> b -> Rec1 f a -> b Исходный код foldr' :: (a -> b -> b) -> b -> Rec1 f a -> b Исходный код foldl :: (b -> a -> b) -> b -> Rec1 f a -> b Исходный код foldl' :: (b -> a -> b) -> b -> Rec1 f a -> b Исходный код foldr1 :: (a -> a -> a) -> Rec1 f a -> a Исходный код foldl1 :: (a -> a -> a) -> Rec1 f a -> a Исходный код toList :: Rec1 f a -> [a] Исходный код null :: Rec1 f a -> Bool Исходный код length :: Rec1 f a -> Int Исходный код elem :: Eq a => a -> Rec1 f a -> Bool Исходный код maximum :: Ord a => Rec1 f a -> a Исходный код minimum :: Ord a => Rec1 f a -> a Исходный код sum :: Num a => Rec1 f a -> a Исходный код product :: Num a => Rec1 f a -> a Исходный код | |||||
| Traversable f => Traversable (Rec1 f) Исходный код | Since: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f0 => (a -> f0 b) -> Rec1 f a -> f0 (Rec1 f b) Исходный код sequenceA :: Applicative f0 => Rec1 f (f0 a) -> f0 (Rec1 f a) Исходный код mapM :: Monad m => (a -> m b) -> Rec1 f a -> m (Rec1 f b) Исходный код sequence :: Monad m => Rec1 f (m a) -> m (Rec1 f a) Исходный код | |||||
| Monoid (f p) => Monoid (Rec1 f p) Исходный код | Since: base-4.12.0.0 |
||||
Определено в GHC.Internal.Generics Методыmempty :: Rec1 f p Исходный код mappend :: Rec1 f p -> Rec1 f p -> Rec1 f p Исходный код mconcat :: [Rec1 f p] -> Rec1 f p Исходный код | |||||
| Semigroup (f p) => Semigroup (Rec1 f p) Исходный код | Since: base-4.12.0.0 |
||||
Определено в GHC.Internal.Generics Методы(<>) :: Rec1 f p -> Rec1 f p -> Rec1 f p Исходный код sconcat :: NonEmpty (Rec1 f p) -> Rec1 f p Исходный код stimes :: Integral b => b -> Rec1 f p -> Rec1 f p Исходный код | |||||
| Eq (f p) => Eq (Rec1 f p) Исходный код | Since: base-4.7.0.0 |
||||
Определено в GHC.Internal.Generics Методы(==) :: Rec1 f p -> Rec1 f p -> Bool Исходный код (/=) :: Rec1 f p -> Rec1 f p -> Bool Исходный код | |||||
| Ord (f p) => Ord (Rec1 f p) Исходный код | Since: base-4.7.0.0 |
||||
Определено в GHC.Internal.Generics Методыcompare :: Rec1 f p -> Rec1 f p -> Ordering Исходный код (<) :: Rec1 f p -> Rec1 f p -> Bool Исходный код (<=) :: Rec1 f p -> Rec1 f p -> Bool Исходный код (>) :: Rec1 f p -> Rec1 f p -> Bool Исходный код (>=) :: Rec1 f p -> Rec1 f p -> Bool Исходный код max :: Rec1 f p -> Rec1 f p -> Rec1 f p Исходный код min :: Rec1 f p -> Rec1 f p -> Rec1 f p Исходный код | |||||
| (Data (f p), Typeable f, Data p) => Data (Rec1 f p) Исходный код | Since: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Rec1 f p -> c (Rec1 f p) Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Rec1 f p) Исходный код toConstr :: Rec1 f p -> Constr Исходный код dataTypeOf :: Rec1 f p -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Rec1 f p)) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Rec1 f p)) Исходный код gmapT :: (forall b. Data b => b -> b) -> Rec1 f p -> Rec1 f p Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Rec1 f p -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Rec1 f p -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Rec1 f p -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Rec1 f p -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Rec1 f p -> m (Rec1 f p) Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Rec1 f p -> m (Rec1 f p) Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Rec1 f p -> m (Rec1 f p) Исходный код | |||||
| Generic (Rec1 f p) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom :: Rec1 f p -> Rep (Rec1 f p) x Исходный код to :: Rep (Rec1 f p) x -> Rec1 f p Исходный код | |||||
| Read (f p) => Read (Rec1 f p) Исходный код | Since: base-4.7.0.0 |
||||
Определено в GHC.Internal.Generics МетодыreadsPrec :: Int -> ReadS (Rec1 f p) Исходный код readList :: ReadS [Rec1 f p] Исходный код readPrec :: ReadPrec (Rec1 f p) Исходный код readListPrec :: ReadPrec [Rec1 f p] Исходный код | |||||
| Show (f p) => Show (Rec1 f p) Исходный код | Since: base-4.7.0.0 |
||||
Определён в GHC.Internal.Generics МетодыshowsPrec :: Int -> Rec1 f p -> ShowS Исходный код show :: Rec1 f p -> String Исходный код showList :: [Rec1 f p] -> ShowS Исходный код | |
| type Rep1 (Rec1 f :: k -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Generics | |
| type Rep (Rec1 f p) Исходный код | Начиная с: base-4.7.0.0 |
Определён в GHC.Internal.Generics | |
newtype K1 i c (p :: k) Исходный код
Константы, дополнительные параметры и рекурсия вида *
Экземпляры
| Generic1 (K1 i c :: k -> Type) Источник | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
| |||||
| Bifoldable (K1 i :: Type -> Type -> Type) Источник | Since: base-4.10.0.0 |
||||
| Bifunctor (K1 i :: Type -> Type -> Type) Источник | Since: base-4.9.0.0 |
||||
| Bitraversable (K1 i :: Type -> Type -> Type) Источник | Since: base-4.10.0.0 |
||||
Определено в Data.Bitraversable Методыbitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> K1 i a b -> f (K1 i c d) Источник | |||||
| Eq c => Eq1 (K1 i c :: Type -> Type) Источник | Since: base-4.21.0.0 |
||||
| Ord c => Ord1 (K1 i c :: Type -> Type) Источник | Since: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Read c => Read1 (K1 i c :: Type -> Type) Источник | Since: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (K1 i c a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [K1 i c a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (K1 i c a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [K1 i c a] Источник | |||||
| Show c => Show1 (K1 i c :: Type -> Type) Источник | Since: base-4.21.0.0 |
||||
| Contravariant (K1 i c :: Type -> Type) Источник | |||||
| Monoid c => Applicative (K1 i c :: Type -> Type) Источник | Since: base-4.12.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| Functor (K1 i c :: Type -> Type) Источник | Since: base-4.9.0.0 |
||||
| Foldable (K1 i c :: Type -> Type) Источник | Since: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => K1 i c m -> m Источник foldMap :: Monoid m => (a -> m) -> K1 i c a -> m Источник foldMap' :: Monoid m => (a -> m) -> K1 i c a -> m Источник foldr :: (a -> b -> b) -> b -> K1 i c a -> b Источник foldr' :: (a -> b -> b) -> b -> K1 i c a -> b Источник foldl :: (b -> a -> b) -> b -> K1 i c a -> b Источник foldl' :: (b -> a -> b) -> b -> K1 i c a -> b Источник foldr1 :: (a -> a -> a) -> K1 i c a -> a Источник foldl1 :: (a -> a -> a) -> K1 i c a -> a Источник toList :: K1 i c a -> [a] Источник null :: K1 i c a -> Bool Источник length :: K1 i c a -> Int Источник elem :: Eq a => a -> K1 i c a -> Bool Источник maximum :: Ord a => K1 i c a -> a Источник minimum :: Ord a => K1 i c a -> a Источник | |||||
| Traversable (K1 i c :: Type -> Type) Источник | Since: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Traversable | |||||
| Monoid c => Monoid (K1 i c p) Источник | С версии: base-4.12.0.0 |
||||
| Semigroup c => Semigroup (K1 i c p) Источник | С версии: base-4.12.0.0 |
||||
| Eq c => Eq (K1 i c p) Источник | С версии: base-4.7.0.0 |
||||
| Ord c => Ord (K1 i c p) Источник | С версии: base-4.7.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| (Typeable i, Data p, Data c) => Data (K1 i c p) Источник | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> (forall g. g -> c0 g) -> K1 i c p -> c0 (K1 i c p) Источник gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (K1 i c p) Источник toConstr :: K1 i c p -> Constr Источник dataTypeOf :: K1 i c p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (K1 i c p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (K1 i c p)) Источник gmapT :: (forall b. Data b => b -> b) -> K1 i c p -> K1 i c p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> K1 i c p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> K1 i c p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> K1 i c p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> K1 i c p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> K1 i c p -> m (K1 i c p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> K1 i c p -> m (K1 i c p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> K1 i c p -> m (K1 i c p) Источник | |||||
| Generic (K1 i c p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Read c => Read (K1 i c p) Источник | С версии: base-4.7.0.0 |
||||
| Show c => Show (K1 i c p) Источник | С версии: base-4.7.0.0 |
||||
| type Rep1 (K1 i c :: k -> Type) Источник | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| type Rep (K1 i c p) Источник | С версии: base-4.7.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
newtype M1 i (c :: Meta) (f :: k -> Type) (p :: k) Источник
Метаинформация (имена конструкторов и т. д.)
Экземпляры
| Generic1 (M1 i c f :: k -> Type) Источник | |||||
Определён в GHC.Internal.Generics Связанные типы
| |||||
| Foldable1 f => Foldable1 (M1 i c f) Источник | С версии: base-4.18.0.0 |
||||
Определён в Data.Foldable1 Методыfold1 :: Semigroup m => M1 i c f m -> m Источник foldMap1 :: Semigroup m => (a -> m) -> M1 i c f a -> m Источник foldMap1' :: Semigroup m => (a -> m) -> M1 i c f a -> m Источник toNonEmpty :: M1 i c f a -> NonEmpty a Источник maximum :: Ord a => M1 i c f a -> a Источник minimum :: Ord a => M1 i c f a -> a Источник head :: M1 i c f a -> a Источник last :: M1 i c f a -> a Источник foldrMap1 :: (a -> b) -> (a -> b -> b) -> M1 i c f a -> b Источник foldlMap1' :: (a -> b) -> (b -> a -> b) -> M1 i c f a -> b Источник foldlMap1 :: (a -> b) -> (b -> a -> b) -> M1 i c f a -> b Источник foldrMap1' :: (a -> b) -> (a -> b -> b) -> M1 i c f a -> b Источник | |||||
| Eq1 f => Eq1 (M1 i c f) Источник | С версии: base-4.21.0.0 |
||||
| Ord1 f => Ord1 (M1 i c f) Источник | С версии: base-4.21.0.0 |
||||
Определён в Data.Functor.Classes | |||||
| Read1 f => Read1 (M1 i c f) Источник | С версии: base-4.21.0.0 |
||||
Определён в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (M1 i c f a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [M1 i c f a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (M1 i c f a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [M1 i c f a] Источник | |||||
| Show1 f => Show1 (M1 i c f) Источник | С версии: base-4.21.0.0 |
||||
| Contravariant f => Contravariant (M1 i c f) Источник | |||||
| Alternative f => Alternative (M1 i c f) Источник | С версии: base-4.9.0.0 |
||||
| Applicative f => Applicative (M1 i c f) Источник | С версии: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics | |||||
| Functor f => Functor (M1 i c f) Источник | С версии: base-4.9.0.0 |
||||
| Monad f => Monad (M1 i c f) Источник | С версии: base-4.9.0.0 |
||||
| MonadPlus f => MonadPlus (M1 i c f) Источник | С версии: base-4.9.0.0 |
||||
| MonadFix f => MonadFix (M1 i c f) Источник | С версии: base-4.9.0.0 |
||||
Определён в GHC.Internal.Control.Monad.Fix | |||||
| MonadZip f => MonadZip (M1 i c f) Источник | С версии: ghc-internal-4.9.0.0 |
||||
| Foldable f => Foldable (M1 i c f) Источник | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => M1 i c f m -> m Источник foldMap :: Monoid m => (a -> m) -> M1 i c f a -> m Источник foldMap' :: Monoid m => (a -> m) -> M1 i c f a -> m Источник foldr :: (a -> b -> b) -> b -> M1 i c f a -> b Источник foldr' :: (a -> b -> b) -> b -> M1 i c f a -> b Источник foldl :: (b -> a -> b) -> b -> M1 i c f a -> b Источник foldl' :: (b -> a -> b) -> b -> M1 i c f a -> b Источник foldr1 :: (a -> a -> a) -> M1 i c f a -> a Источник foldl1 :: (a -> a -> a) -> M1 i c f a -> a Источник toList :: M1 i c f a -> [a] Источник null :: M1 i c f a -> Bool Источник length :: M1 i c f a -> Int Источник elem :: Eq a => a -> M1 i c f a -> Bool Источник maximum :: Ord a => M1 i c f a -> a Источник minimum :: Ord a => M1 i c f a -> a Источник | |||||
| Traversable f => Traversable (M1 i c f) Источник | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f0 => (a -> f0 b) -> M1 i c f a -> f0 (M1 i c f b) Источник sequenceA :: Applicative f0 => M1 i c f (f0 a) -> f0 (M1 i c f a) Источник mapM :: Monad m => (a -> m b) -> M1 i c f a -> m (M1 i c f b) Источник sequence :: Monad m => M1 i c f (m a) -> m (M1 i c f a) Источник | |||||
| Monoid (f p) => Monoid (M1 i c f p) Источник | С версии: base-4.12.0.0 |
||||
| Semigroup (f p) => Semigroup (M1 i c f p) Источник | С версии: base-4.12.0.0 |
||||
| Eq (f p) => Eq (M1 i c f p) Источник | С версии: base-4.7.0.0 |
||||
| Ord (f p) => Ord (M1 i c f p) Источник | С версии: base-4.7.0.0 |
||||
Определено в GHC.Internal.Generics Методыcompare :: M1 i c f p -> M1 i c f p -> Ordering Источник (<) :: M1 i c f p -> M1 i c f p -> Bool Источник (<=) :: M1 i c f p -> M1 i c f p -> Bool Источник (>) :: M1 i c f p -> M1 i c f p -> Bool Источник (>=) :: M1 i c f p -> M1 i c f p -> Bool Источник | |||||
| (Data p, Data (f p), Typeable c, Typeable i, Typeable f) => Data (M1 i c f p) Источник | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> (forall g. g -> c0 g) -> M1 i c f p -> c0 (M1 i c f p) Источник gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (M1 i c f p) Источник toConstr :: M1 i c f p -> Constr Источник dataTypeOf :: M1 i c f p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (M1 i c f p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (M1 i c f p)) Источник gmapT :: (forall b. Data b => b -> b) -> M1 i c f p -> M1 i c f p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> M1 i c f p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> M1 i c f p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> M1 i c f p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> M1 i c f p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) Источник | |||||
| Generic (M1 i c f p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Read (f p) => Read (M1 i c f p) Источник | С версии: base-4.7.0.0 |
||||
data ((f :: k -> Type) :+: (g :: k -> Type)) (p :: k) infixr 5 Источник
Суммы: кодируют выбор между конструкторами
Экземпляры
| Generic1 (f :+: g :: k -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: forall (a :: k). (f :+: g) a -> Rep1 (f :+: g) a Исходный код to1 :: forall (a :: k). Rep1 (f :+: g) a -> (f :+: g) a Исходный код | |||||
| (Foldable1 f, Foldable1 g) => Foldable1 (f :+: g) Исходный код | Начиная с: base-4.18.0.0 |
||||
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => (f :+: g) m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> (f :+: g) a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> (f :+: g) a -> m Исходный код toNonEmpty :: (f :+: g) a -> NonEmpty a Исходный код maximum :: Ord a => (f :+: g) a -> a Исходный код minimum :: Ord a => (f :+: g) a -> a Исходный код head :: (f :+: g) a -> a Исходный код last :: (f :+: g) a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> (f :+: g) a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> (f :+: g) a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> (f :+: g) a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> (f :+: g) a -> b Исходный код | |||||
| (Eq1 f, Eq1 g) => Eq1 (f :+: g) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| (Ord1 f, Ord1 g) => Ord1 (f :+: g) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> (f :+: g) a -> (f :+: g) b -> Ordering Исходный код | |||||
| (Read1 f, Read1 g) => Read1 (f :+: g) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS ((f :+: g) a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [(f :+: g) a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec ((f :+: g) a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [(f :+: g) a] Исходный код | |||||
| (Show1 f, Show1 g) => Show1 (f :+: g) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> (f :+: g) a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [(f :+: g) a] -> ShowS Исходный код | |||||
| (Contravariant f, Contravariant g) => Contravariant (f :+: g) Исходный код | |||||
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> (f :+: g) a -> (f :+: g) a' Исходный код (>$) :: b -> (f :+: g) b -> (f :+: g) a Исходный код | |||||
| (Functor f, Functor g) => Functor (f :+: g) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыfmap :: (a -> b) -> (f :+: g) a -> (f :+: g) b Исходный код (<$) :: a -> (f :+: g) b -> (f :+: g) a Исходный код | |||||
| (Foldable f, Foldable g) => Foldable (f :+: g) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => (f :+: g) m -> m Исходный код foldMap :: Monoid m => (a -> m) -> (f :+: g) a -> m Исходный код foldMap' :: Monoid m => (a -> m) -> (f :+: g) a -> m Исходный код foldr :: (a -> b -> b) -> b -> (f :+: g) a -> b Исходный код foldr' :: (a -> b -> b) -> b -> (f :+: g) a -> b Исходный код foldl :: (b -> a -> b) -> b -> (f :+: g) a -> b Исходный код foldl' :: (b -> a -> b) -> b -> (f :+: g) a -> b Исходный код foldr1 :: (a -> a -> a) -> (f :+: g) a -> a Исходный код foldl1 :: (a -> a -> a) -> (f :+: g) a -> a Исходный код toList :: (f :+: g) a -> [a] Исходный код null :: (f :+: g) a -> Bool Исходный код length :: (f :+: g) a -> Int Исходный код elem :: Eq a => a -> (f :+: g) a -> Bool Исходный код maximum :: Ord a => (f :+: g) a -> a Исходный код minimum :: Ord a => (f :+: g) a -> a Исходный код sum :: Num a => (f :+: g) a -> a Исходный код product :: Num a => (f :+: g) a -> a Исходный код | |||||
| (Traversable f, Traversable g) => Traversable (f :+: g) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f0 => (a -> f0 b) -> (f :+: g) a -> f0 ((f :+: g) b) Исходный код sequenceA :: Applicative f0 => (f :+: g) (f0 a) -> f0 ((f :+: g) a) Исходный код mapM :: Monad m => (a -> m b) -> (f :+: g) a -> m ((f :+: g) b) Исходный код sequence :: Monad m => (f :+: g) (m a) -> m ((f :+: g) a) Исходный код | |||||
| (Eq (f p), Eq (g p)) => Eq ((f :+: g) p) Исходный код | Начиная с: base-4.7.0.0 |
||||
| (Ord (f p), Ord (g p)) => Ord ((f :+: g) p) Источник | Начиная с: base-4.7.0.0 |
||||
Определено в GHC.Internal.Generics Методыcompare :: (f :+: g) p -> (f :+: g) p -> Ordering Источник (<) :: (f :+: g) p -> (f :+: g) p -> Bool Источник (<=) :: (f :+: g) p -> (f :+: g) p -> Bool Источник (>) :: (f :+: g) p -> (f :+: g) p -> Bool Источник (>=) :: (f :+: g) p -> (f :+: g) p -> Bool Источник | |||||
| (Typeable f, Typeable g, Data p, Data (f p), Data (g p)) => Data ((f :+: g) p) Источник | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g0. g0 -> c g0) -> (f :+: g) p -> c ((f :+: g) p) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ((f :+: g) p) Источник toConstr :: (f :+: g) p -> Constr Источник dataTypeOf :: (f :+: g) p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ((f :+: g) p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ((f :+: g) p)) Источник gmapT :: (forall b. Data b => b -> b) -> (f :+: g) p -> (f :+: g) p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (f :+: g) p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (f :+: g) p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> (f :+: g) p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> (f :+: g) p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> (f :+: g) p -> m ((f :+: g) p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :+: g) p -> m ((f :+: g) p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :+: g) p -> m ((f :+: g) p) Источник | |||||
| Generic ((f :+: g) p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| (Read (f p), Read (g p)) => Read ((f :+: g) p) Источник | Начиная с: base-4.7.0.0 |
||||
| (Show (f p), Show (g p)) => Show ((f :+: g) p) Источник | Начиная с: base-4.7.0.0 |
||||
| type Rep1 (f :+: g :: k -> Type) Источник | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics type Rep1 (f :+: g :: k -> Type) = D1 ('MetaData ":+:" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "L1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)) :+: C1 ('MetaCons "R1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 g))) | |||||
| type Rep ((f :+: g) p) Источник | Начиная с: base-4.7.0.0 |
||||
Определено в GHC.Internal.Generics type Rep ((f :+: g) p) = D1 ('MetaData ":+:" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "L1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f p))) :+: C1 ('MetaCons "R1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (g p)))) | |||||
data ((f :: k -> Type) :*: (g :: k -> Type)) (p :: k) infixr 6 Источник
Произведения: кодируют несколько аргументов конструкторов
Конструкторы
| (f p) :*: (g p) infixr 6 |
Экземпляры
| Generic1 (f :*: g :: k -> Type) Исходный код | |||||
Определён в GHC.Internal.Generics Ассоциированные типы
Методыfrom1 :: forall (a :: k). (f :*: g) a -> Rep1 (f :*: g) a Исходный код to1 :: forall (a :: k). Rep1 (f :*: g) a -> (f :*: g) a Исходный код | |||||
| (Foldable1 f, Foldable1 g) => Foldable1 (f :*: g) Исходный код | С версии: base-4.18.0.0 |
||||
Определён в Data.Foldable1 Методыfold1 :: Semigroup m => (f :*: g) m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> (f :*: g) a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> (f :*: g) a -> m Исходный код toNonEmpty :: (f :*: g) a -> NonEmpty a Исходный код maximum :: Ord a => (f :*: g) a -> a Исходный код minimum :: Ord a => (f :*: g) a -> a Исходный код head :: (f :*: g) a -> a Исходный код last :: (f :*: g) a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> (f :*: g) a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> (f :*: g) a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> (f :*: g) a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> (f :*: g) a -> b Исходный код | |||||
| (Eq1 f, Eq1 g) => Eq1 (f :*: g) Исходный код | С версии: base-4.21.0.0 |
||||
Определён в Data.Functor.Classes | |||||
| (Ord1 f, Ord1 g) => Ord1 (f :*: g) Исходный код | С версии: base-4.21.0.0 |
||||
Определён в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> (f :*: g) a -> (f :*: g) b -> Ordering Исходный код | |||||
| (Read1 f, Read1 g) => Read1 (f :*: g) Исходный код | С версии: base-4.21.0.0 |
||||
Определён в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS ((f :*: g) a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [(f :*: g) a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec ((f :*: g) a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [(f :*: g) a] Исходный код | |||||
| (Show1 f, Show1 g) => Show1 (f :*: g) Исходный код | С версии: base-4.21.0.0 |
||||
Определён в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> (f :*: g) a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [(f :*: g) a] -> ShowS Исходный код | |||||
| (Contravariant f, Contravariant g) => Contravariant (f :*: g) Исходный код | |||||
Определён в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> (f :*: g) a -> (f :*: g) a' Исходный код (>$) :: b -> (f :*: g) b -> (f :*: g) a Исходный код | |||||
| (Alternative f, Alternative g) => Alternative (f :*: g) Исходный код | С версии: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics Методыempty :: (f :*: g) a Исходный код (<|>) :: (f :*: g) a -> (f :*: g) a -> (f :*: g) a Исходный код some :: (f :*: g) a -> (f :*: g) [a] Исходный код many :: (f :*: g) a -> (f :*: g) [a] Исходный код | |||||
| (Applicative f, Applicative g) => Applicative (f :*: g) Исходный код | С версии: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics Методыpure :: a -> (f :*: g) a Исходный код (<*>) :: (f :*: g) (a -> b) -> (f :*: g) a -> (f :*: g) b Исходный код liftA2 :: (a -> b -> c) -> (f :*: g) a -> (f :*: g) b -> (f :*: g) c Исходный код (*>) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) b Исходный код (<*) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) a Исходный код | |||||
| (Functor f, Functor g) => Functor (f :*: g) Исходный код | С версии: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics Методыfmap :: (a -> b) -> (f :*: g) a -> (f :*: g) b Исходный код (<$) :: a -> (f :*: g) b -> (f :*: g) a Исходный код | |||||
| (Monad f, Monad g) => Monad (f :*: g) Исходный код | С версии: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics Методы(>>=) :: (f :*: g) a -> (a -> (f :*: g) b) -> (f :*: g) b Исходный код (>>) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) b Исходный код return :: a -> (f :*: g) a Исходный код | |||||
| (MonadPlus f, MonadPlus g) => MonadPlus (f :*: g) Исходный код | С версии: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics Методыmzero :: (f :*: g) a Исходный код mplus :: (f :*: g) a -> (f :*: g) a -> (f :*: g) a Исходный код | |||||
| (MonadFix f, MonadFix g) => MonadFix (f :*: g) Исходный код | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Control.Monad.Fix | |
| (MonadZip f, MonadZip g) => MonadZip (f :*: g) Источник | Начиная с: ghc-internal-4.9.0.0 |
| (Foldable f, Foldable g) => Foldable (f :*: g) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => (f :*: g) m -> m Источник foldMap :: Monoid m => (a -> m) -> (f :*: g) a -> m Источник foldMap' :: Monoid m => (a -> m) -> (f :*: g) a -> m Источник foldr :: (a -> b -> b) -> b -> (f :*: g) a -> b Источник foldr' :: (a -> b -> b) -> b -> (f :*: g) a -> b Источник foldl :: (b -> a -> b) -> b -> (f :*: g) a -> b Источник foldl' :: (b -> a -> b) -> b -> (f :*: g) a -> b Источник foldr1 :: (a -> a -> a) -> (f :*: g) a -> a Источник foldl1 :: (a -> a -> a) -> (f :*: g) a -> a Источник toList :: (f :*: g) a -> [a] Источник null :: (f :*: g) a -> Bool Источник length :: (f :*: g) a -> Int Источник elem :: Eq a => a -> (f :*: g) a -> Bool Источник maximum :: Ord a => (f :*: g) a -> a Источник minimum :: Ord a => (f :*: g) a -> a Источник | |
| (Traversable f, Traversable g) => Traversable (f :*: g) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f0 => (a -> f0 b) -> (f :*: g) a -> f0 ((f :*: g) b) Источник sequenceA :: Applicative f0 => (f :*: g) (f0 a) -> f0 ((f :*: g) a) Источник mapM :: Monad m => (a -> m b) -> (f :*: g) a -> m ((f :*: g) b) Источник sequence :: Monad m => (f :*: g) (m a) -> m ((f :*: g) a) Источник | |
| (Monoid (f p), Monoid (g p)) => Monoid ((f :*: g) p) Источник | Начиная с: base-4.12.0.0 |
| (Semigroup (f p), Semigroup (g p)) => Semigroup ((f :*: g) p) Источник | Начиная с: base-4.12.0.0 |
| (Eq (f p), Eq (g p)) => Eq ((f :*: g) p) Источник | Начиная с: base-4.7.0.0 |
| (Ord (f p), Ord (g p)) => Ord ((f :*: g) p) Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Generics Методыcompare :: (f :*: g) p -> (f :*: g) p -> Ordering Источник (<) :: (f :*: g) p -> (f :*: g) p -> Bool Источник (<=) :: (f :*: g) p -> (f :*: g) p -> Bool Источник (>) :: (f :*: g) p -> (f :*: g) p -> Bool Источник (>=) :: (f :*: g) p -> (f :*: g) p -> Bool Источник | |
| (Typeable f, Typeable g, Data p, Data (f p), Data (g p)) => Data ((f :*: g) p) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g0. g0 -> c g0) -> (f :*: g) p -> c ((f :*: g) p) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ((f :*: g) p) Источник toConstr :: (f :*: g) p -> Constr Источник dataTypeOf :: (f :*: g) p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ((f :*: g) p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ((f :*: g) p)) Источник gmapT :: (forall b. Data b => b -> b) -> (f :*: g) p -> (f :*: g) p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (f :*: g) p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (f :*: g) p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> (f :*: g) p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> (f :*: g) p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> (f :*: g) p -> m ((f :*: g) p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :*: g) p -> m ((f :*: g) p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :*: g) p -> m ((f :*: g) p) Источник | |
| Generic ((f :*: g) p) Источник | |
newtype ((f :: k2 -> Type) :.: (g :: k1 -> k2)) (p :: k1) infixr 7 Исходный код
Композиция функторов
Экземпляры
| Functor f => Generic1 (f :.: g :: k -> Type) Исходный код | |||||
Определён в GHC.Internal.Generics Связанные типы
Методыfrom1 :: forall (a :: k). (f :.: g) a -> Rep1 (f :.: g) a Исходный код to1 :: forall (a :: k). Rep1 (f :.: g) a -> (f :.: g) a Исходный код | |||||
| (Foldable1 f, Foldable1 g) => Foldable1 (f :.: g) Исходный код | Начиная с: base-4.18.0.0 |
||||
Определён в Data.Foldable1 Методыfold1 :: Semigroup m => (f :.: g) m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> (f :.: g) a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> (f :.: g) a -> m Исходный код toNonEmpty :: (f :.: g) a -> NonEmpty a Исходный код maximum :: Ord a => (f :.: g) a -> a Исходный код minimum :: Ord a => (f :.: g) a -> a Исходный код head :: (f :.: g) a -> a Исходный код last :: (f :.: g) a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> (f :.: g) a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> (f :.: g) a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> (f :.: g) a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> (f :.: g) a -> b Исходный код | |||||
| (Eq1 f, Eq1 g) => Eq1 (f :.: g) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определён в Data.Functor.Classes | |||||
| (Ord1 f, Ord1 g) => Ord1 (f :.: g) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определён в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> (f :.: g) a -> (f :.: g) b -> Ordering Исходный код | |||||
| (Read1 f, Read1 g) => Read1 (f :.: g) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определён в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS ((f :.: g) a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [(f :.: g) a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec ((f :.: g) a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [(f :.: g) a] Исходный код | |||||
| (Show1 f, Show1 g) => Show1 (f :.: g) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определён в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> (f :.: g) a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [(f :.: g) a] -> ShowS Исходный код | |||||
| (Functor f, Contravariant g) => Contravariant (f :.: g) Исходный код | |||||
Определён в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> (f :.: g) a -> (f :.: g) a' Исходный код (>$) :: b -> (f :.: g) b -> (f :.: g) a Исходный код | |||||
| (Alternative f, Applicative g) => Alternative (f :.: g) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics Методыempty :: (f :.: g) a Исходный код (<|>) :: (f :.: g) a -> (f :.: g) a -> (f :.: g) a Исходный код some :: (f :.: g) a -> (f :.: g) [a] Исходный код many :: (f :.: g) a -> (f :.: g) [a] Исходный код | |||||
| (Applicative f, Applicative g) => Applicative (f :.: g) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics Методыpure :: a -> (f :.: g) a Исходный код (<*>) :: (f :.: g) (a -> b) -> (f :.: g) a -> (f :.: g) b Исходный код liftA2 :: (a -> b -> c) -> (f :.: g) a -> (f :.: g) b -> (f :.: g) c Исходный код (*>) :: (f :.: g) a -> (f :.: g) b -> (f :.: g) b Исходный код (<*) :: (f :.: g) a -> (f :.: g) b -> (f :.: g) a Исходный код | |||||
| (Functor f, Functor g) => Functor (f :.: g) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics Методыfmap :: (a -> b) -> (f :.: g) a -> (f :.: g) b Исходный код (<$) :: a -> (f :.: g) b -> (f :.: g) a Исходный код | |||||
| (Foldable f, Foldable g) => Foldable (f :.: g) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => (f :.: g) m -> m Источник foldMap :: Monoid m => (a -> m) -> (f :.: g) a -> m Источник foldMap' :: Monoid m => (a -> m) -> (f :.: g) a -> m Источник foldr :: (a -> b -> b) -> b -> (f :.: g) a -> b Источник foldr' :: (a -> b -> b) -> b -> (f :.: g) a -> b Источник foldl :: (b -> a -> b) -> b -> (f :.: g) a -> b Источник foldl' :: (b -> a -> b) -> b -> (f :.: g) a -> b Источник foldr1 :: (a -> a -> a) -> (f :.: g) a -> a Источник foldl1 :: (a -> a -> a) -> (f :.: g) a -> a Источник toList :: (f :.: g) a -> [a] Источник null :: (f :.: g) a -> Bool Источник length :: (f :.: g) a -> Int Источник elem :: Eq a => a -> (f :.: g) a -> Bool Источник maximum :: Ord a => (f :.: g) a -> a Источник minimum :: Ord a => (f :.: g) a -> a Источник | |||||
| (Traversable f, Traversable g) => Traversable (f :.: g) Источник | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f0 => (a -> f0 b) -> (f :.: g) a -> f0 ((f :.: g) b) Источник sequenceA :: Applicative f0 => (f :.: g) (f0 a) -> f0 ((f :.: g) a) Источник mapM :: Monad m => (a -> m b) -> (f :.: g) a -> m ((f :.: g) b) Источник sequence :: Monad m => (f :.: g) (m a) -> m ((f :.: g) a) Источник | |||||
| Monoid (f (g p)) => Monoid ((f :.: g) p) Источник | Начиная с: base-4.12.0.0 |
||||
| Semigroup (f (g p)) => Semigroup ((f :.: g) p) Источник | Начиная с: base-4.12.0.0 |
||||
| Eq (f (g p)) => Eq ((f :.: g) p) Источник | Начиная с: base-4.7.0.0 |
||||
| Ord (f (g p)) => Ord ((f :.: g) p) Источник | Начиная с: base-4.7.0.0 |
||||
Определено в GHC.Internal.Generics Методыcompare :: (f :.: g) p -> (f :.: g) p -> Ordering Источник (<) :: (f :.: g) p -> (f :.: g) p -> Bool Источник (<=) :: (f :.: g) p -> (f :.: g) p -> Bool Источник (>) :: (f :.: g) p -> (f :.: g) p -> Bool Источник (>=) :: (f :.: g) p -> (f :.: g) p -> Bool Источник | |||||
| (Typeable f, Typeable g, Data p, Data (f (g p))) => Data ((f :.: g) p) Источник | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g0. g0 -> c g0) -> (f :.: g) p -> c ((f :.: g) p) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ((f :.: g) p) Источник toConstr :: (f :.: g) p -> Constr Источник dataTypeOf :: (f :.: g) p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ((f :.: g) p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ((f :.: g) p)) Источник gmapT :: (forall b. Data b => b -> b) -> (f :.: g) p -> (f :.: g) p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (f :.: g) p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (f :.: g) p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> (f :.: g) p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> (f :.: g) p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> (f :.: g) p -> m ((f :.: g) p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :.: g) p -> m ((f :.: g) p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :.: g) p -> m ((f :.: g) p) Источник | |||||
| Generic ((f :.: g) p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Read (f (g p)) => Read ((f :.: g) p) Источник | Начиная с: base-4.7.0.0 |
||||
Типы представления без упаковки
data family URec a (p :: k) Источник
Константы неподнятых родов
Начиная с: base-4.9.0.0
Экземпляры
| Generic1 (URec (Ptr ()) :: k -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 (URec Char :: k -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 (URec Double :: k -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 (URec Float :: k -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 (URec Int :: k -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 (URec Word :: k -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Eq1 (UAddr :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Eq1 (UChar :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Eq1 (UDouble :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Eq1 (UFloat :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Eq1 (UInt :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Eq1 (UWord :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |
| Ord1 (UAddr :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> UAddr a -> UAddr b -> Ordering Исходный код | |
| Ord1 (UChar :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> UChar a -> UChar b -> Ordering Исходный код | |
| Ord1 (UDouble :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> UDouble a -> UDouble b -> Ordering Исходный код | |
| Ord1 (UFloat :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> UFloat a -> UFloat b -> Ordering Исходный код | |
| Ord1 (UInt :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> UInt a -> UInt b -> Ordering Исходный код | |
| Ord1 (UWord :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> UWord a -> UWord b -> Ordering Исходный код | |
| Show1 (UAddr :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UAddr a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UAddr a] -> ShowS Исходный код | |
| Show1 (UChar :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UChar a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UChar a] -> ShowS Исходный код | |
| Show1 (UDouble :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UDouble a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UDouble a] -> ShowS Исходный код | |
| Show1 (UFloat :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UFloat a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UFloat a] -> ShowS Исходный код | |
| Show1 (UInt :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UInt a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UInt a] -> ShowS Исходный код | |
| Show1 (UWord :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UWord a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UWord a] -> ShowS Исходный код | |
| Foldable (UAddr :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UAddr m -> m Исходный код foldMap :: Monoid m => (a -> m) -> UAddr a -> m Исходный код foldMap' :: Monoid m => (a -> m) -> UAddr a -> m Исходный код foldr :: (a -> b -> b) -> b -> UAddr a -> b Исходный код foldr' :: (a -> b -> b) -> b -> UAddr a -> b Исходный код foldl :: (b -> a -> b) -> b -> UAddr a -> b Исходный код foldl' :: (b -> a -> b) -> b -> UAddr a -> b Исходный код foldr1 :: (a -> a -> a) -> UAddr a -> a Исходный код foldl1 :: (a -> a -> a) -> UAddr a -> a Исходный код toList :: UAddr a -> [a] Исходный код null :: UAddr a -> Bool Исходный код length :: UAddr a -> Int Исходный код elem :: Eq a => a -> UAddr a -> Bool Исходный код maximum :: Ord a => UAddr a -> a Исходный код minimum :: Ord a => UAddr a -> a Исходный код sum :: Num a => UAddr a -> a Исходный код product :: Num a => UAddr a -> a Исходный код | |
| Foldable (UChar :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UChar m -> m Источник foldMap :: Monoid m => (a -> m) -> UChar a -> m Источник foldMap' :: Monoid m => (a -> m) -> UChar a -> m Источник foldr :: (a -> b -> b) -> b -> UChar a -> b Источник foldr' :: (a -> b -> b) -> b -> UChar a -> b Источник foldl :: (b -> a -> b) -> b -> UChar a -> b Источник foldl' :: (b -> a -> b) -> b -> UChar a -> b Источник foldr1 :: (a -> a -> a) -> UChar a -> a Источник foldl1 :: (a -> a -> a) -> UChar a -> a Источник toList :: UChar a -> [a] Источник null :: UChar a -> Bool Источник length :: UChar a -> Int Источник elem :: Eq a => a -> UChar a -> Bool Источник maximum :: Ord a => UChar a -> a Источник minimum :: Ord a => UChar a -> a Источник | |
| Foldable (UDouble :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UDouble m -> m Источник foldMap :: Monoid m => (a -> m) -> UDouble a -> m Источник foldMap' :: Monoid m => (a -> m) -> UDouble a -> m Источник foldr :: (a -> b -> b) -> b -> UDouble a -> b Источник foldr' :: (a -> b -> b) -> b -> UDouble a -> b Источник foldl :: (b -> a -> b) -> b -> UDouble a -> b Источник foldl' :: (b -> a -> b) -> b -> UDouble a -> b Источник foldr1 :: (a -> a -> a) -> UDouble a -> a Источник foldl1 :: (a -> a -> a) -> UDouble a -> a Источник toList :: UDouble a -> [a] Источник null :: UDouble a -> Bool Источник length :: UDouble a -> Int Источник elem :: Eq a => a -> UDouble a -> Bool Источник maximum :: Ord a => UDouble a -> a Источник minimum :: Ord a => UDouble a -> a Источник | |
| Foldable (UFloat :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UFloat m -> m Источник foldMap :: Monoid m => (a -> m) -> UFloat a -> m Источник foldMap' :: Monoid m => (a -> m) -> UFloat a -> m Источник foldr :: (a -> b -> b) -> b -> UFloat a -> b Источник foldr' :: (a -> b -> b) -> b -> UFloat a -> b Источник foldl :: (b -> a -> b) -> b -> UFloat a -> b Источник foldl' :: (b -> a -> b) -> b -> UFloat a -> b Источник foldr1 :: (a -> a -> a) -> UFloat a -> a Источник foldl1 :: (a -> a -> a) -> UFloat a -> a Источник toList :: UFloat a -> [a] Источник null :: UFloat a -> Bool Источник length :: UFloat a -> Int Источник elem :: Eq a => a -> UFloat a -> Bool Источник maximum :: Ord a => UFloat a -> a Источник minimum :: Ord a => UFloat a -> a Источник | |
| Foldable (UInt :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UInt m -> m Источник foldMap :: Monoid m => (a -> m) -> UInt a -> m Источник foldMap' :: Monoid m => (a -> m) -> UInt a -> m Источник foldr :: (a -> b -> b) -> b -> UInt a -> b Источник foldr' :: (a -> b -> b) -> b -> UInt a -> b Источник foldl :: (b -> a -> b) -> b -> UInt a -> b Источник foldl' :: (b -> a -> b) -> b -> UInt a -> b Источник foldr1 :: (a -> a -> a) -> UInt a -> a Источник foldl1 :: (a -> a -> a) -> UInt a -> a Источник toList :: UInt a -> [a] Источник null :: UInt a -> Bool Источник length :: UInt a -> Int Источник elem :: Eq a => a -> UInt a -> Bool Источник maximum :: Ord a => UInt a -> a Источник minimum :: Ord a => UInt a -> a Источник | |
| Foldable (UWord :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UWord m -> m Источник foldMap :: Monoid m => (a -> m) -> UWord a -> m Источник foldMap' :: Monoid m => (a -> m) -> UWord a -> m Источник foldr :: (a -> b -> b) -> b -> UWord a -> b Источник foldr' :: (a -> b -> b) -> b -> UWord a -> b Источник foldl :: (b -> a -> b) -> b -> UWord a -> b Источник foldl' :: (b -> a -> b) -> b -> UWord a -> b Источник foldr1 :: (a -> a -> a) -> UWord a -> a Источник foldl1 :: (a -> a -> a) -> UWord a -> a Источник toList :: UWord a -> [a] Источник null :: UWord a -> Bool Источник length :: UWord a -> Int Источник elem :: Eq a => a -> UWord a -> Bool Источник maximum :: Ord a => UWord a -> a Источник minimum :: Ord a => UWord a -> a Источник | |
| Traversable (UAddr :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable | |
| Traversable (UChar :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable | |
| Traversable (UDouble :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable | |
| Traversable (UFloat :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable | |
| Traversable (UInt :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable | |
| Traversable (UWord :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable | |
| Functor (URec (Ptr ()) :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
| Functor (URec Char :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
| Functor (URec Double :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
| Functor (URec Float :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
| Functor (URec Int :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Functor (URec Word :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Show (UAddr p) Исходный код | Начиная с: base-4.21.0.0 |
Определено в GHC.Internal.Generics МетодыshowsPrec :: Int -> UAddr p -> ShowS Исходный код show :: UAddr p -> String Исходный код showList :: [UAddr p] -> ShowS Исходный код | |
| Eq (URec (Ptr ()) p) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Eq (URec Char p) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Eq (URec Double p) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Eq (URec Float p) Исходный код | |
Определено в GHC.Internal.Generics | |
| Eq (URec Int p) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Eq (URec Word p) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Ord (URec (Ptr ()) p) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыcompare :: URec (Ptr ()) p -> URec (Ptr ()) p -> Ordering Исходный код (<) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Исходный код (<=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Исходный код (>) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Исходный код (>=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Исходный код max :: URec (Ptr ()) p -> URec (Ptr ()) p -> URec (Ptr ()) p Исходный код min :: URec (Ptr ()) p -> URec (Ptr ()) p -> URec (Ptr ()) p Исходный код | |
| Ord (URec Char p) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыcompare :: URec Char p -> URec Char p -> Ordering Исходный код (<) :: URec Char p -> URec Char p -> Bool Исходный код (<=) :: URec Char p -> URec Char p -> Bool Исходный код (>) :: URec Char p -> URec Char p -> Bool Исходный код (>=) :: URec Char p -> URec Char p -> Bool Исходный код max :: URec Char p -> URec Char p -> URec Char p Исходный код min :: URec Char p -> URec Char p -> URec Char p Исходный код | |
| Ord (URec Double p) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыcompare :: URec Double p -> URec Double p -> Ordering Исходный код (<) :: URec Double p -> URec Double p -> Bool Исходный код (<=) :: URec Double p -> URec Double p -> Bool Исходный код (>) :: URec Double p -> URec Double p -> Bool Исходный код (>=) :: URec Double p -> URec Double p -> Bool Исходный код max :: URec Double p -> URec Double p -> URec Double p Исходный код min :: URec Double p -> URec Double p -> URec Double p Исходный код | |
| Ord (URec Float p) Исходный код | |
Определено в GHC.Internal.Generics Методыcompare :: URec Float p -> URec Float p -> Ordering Источник (<) :: URec Float p -> URec Float p -> Bool Источник (<=) :: URec Float p -> URec Float p -> Bool Источник (>) :: URec Float p -> URec Float p -> Bool Источник (>=) :: URec Float p -> URec Float p -> Bool Источник max :: URec Float p -> URec Float p -> URec Float p Источник min :: URec Float p -> URec Float p -> URec Float p Источник | |||||
| Ord (URec Int p) Источник | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыcompare :: URec Int p -> URec Int p -> Ordering Источник (<) :: URec Int p -> URec Int p -> Bool Источник (<=) :: URec Int p -> URec Int p -> Bool Источник (>) :: URec Int p -> URec Int p -> Bool Источник (>=) :: URec Int p -> URec Int p -> Bool Источник | |||||
| Ord (URec Word p) Источник | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыcompare :: URec Word p -> URec Word p -> Ordering Источник (<) :: URec Word p -> URec Word p -> Bool Источник (<=) :: URec Word p -> URec Word p -> Bool Источник (>) :: URec Word p -> URec Word p -> Bool Источник (>=) :: URec Word p -> URec Word p -> Bool Источник | |||||
| Generic (URec (Ptr ()) p) Источник | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
| |||||
| Generic (URec Char p) Источник | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
| |||||
| Generic (URec Double p) Источник | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
| |||||
| Generic (URec Float p) Источник | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
| |||||
| Generic (URec Int p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (URec Word p) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Show (URec Char p) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| Show (URec Double p) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| Show (URec Float p) Исходный код | |||||
Определено в GHC.Internal.Generics | |||||
| Show (URec Int p) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| Show (URec Word p) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| data URec Char (p :: k) Исходный код |
Используется для обозначения вхождений Начиная с: base-4.9.0.0 |
||||
| data URec Double (p :: k) Исходный код |
Используется для обозначения вхождений Начиная с: base-4.9.0.0 |
||||
| data URec Float (p :: k) Исходный код |
Используется для обозначения вхождений Начиная с: base-4.9.0.0 |
||||
| data URec Int (p :: k) Исходный код |
Используется для обозначения вхождений Начиная с: base-4.9.0.0 |
||||
| data URec Word (p :: k) Исходный код |
Используется для обозначения вхождений Начиная с: base-4.9.0.0 |
||||
| data URec (Ptr ()) (p :: k) Исходный код |
Используется для обозначения вхождений Начиная с: base-4.9.0.0 |
||||
| type Rep1 (URec (Ptr ()) :: k -> Type) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| type Rep1 (URec Char :: k -> Type) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| type Rep1 (URec Double :: k -> Type) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| type Rep1 (URec Float :: k -> Type) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |
| type Rep1 (URec Int :: k -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| type Rep1 (URec Word :: k -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| type Rep (URec (Ptr ()) p) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| type Rep (URec Char p) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| type Rep (URec Double p) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| type Rep (URec Float p) Исходный код | |
Определено в GHC.Internal.Generics | |
| type Rep (URec Int p) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| type Rep (URec Word p) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
type UAddr = URec (Ptr ()) :: k -> Type Исходный код
Начиная с: base-4.9.0.0
type UChar = URec Char :: k -> Type Исходный код
Начиная с: base-4.9.0.0
type UDouble = URec Double :: k -> Type Исходный код
Начиная с: base-4.9.0.0
type UFloat = URec Float :: k -> Type Исходный код
Начиная с: base-4.9.0.0
type UInt = URec Int :: k -> Type Исходный код
Начиная с: base-4.9.0.0
type UWord = URec Word :: k -> Type Исходный код
Начиная с: base-4.9.0.0
Удобные синонимы
type Rec0 = K1 R :: Type -> k -> Type Исходный код
Синоним типа для кодирования рекурсии (вида Type)
data R Исходный код
Тег для K1: рекурсия (вида Type)
type D1 = M1 D :: Meta -> (k -> Type) -> k -> Type Исходный код
Синоним типа для кодирования метаинформации о типах данных
type C1 = M1 C :: Meta -> (k -> Type) -> k -> Type Исходный код
Синоним типа для кодирования метаинформации о конструкторах
type S1 = M1 S :: Meta -> (k -> Type) -> k -> Type Исходный код
Синоним типа для кодирования метаинформации о селекторах записей
data D Исходный код
Тег для M1: тип данных
data C Исходный код
Тег для M1: конструктор
data S Исходный код
Тег для M1: селектор записи
Метаинформация
class Datatype (d :: k) where Исходный код
Класс для типов, представляющих типы данных
Минимальное полное определение
Методы
datatypeName :: forall k1 t (f :: k1 -> Type) (a :: k1). t d f a -> [Char] Исходный код
Имя типа данных (без квалификатора)
moduleName :: forall k1 t (f :: k1 -> Type) (a :: k1). t d f a -> [Char] Исходный код
Полное имя модуля, в котором объявлен тип
packageName :: forall k1 t (f :: k1 -> Type) (a :: k1). t d f a -> [Char] Исходный код
Имя пакета модуля, в котором объявлен тип
Начиная с: base-4.9.0.0
isNewtype :: forall k1 t (f :: k1 -> Type) (a :: k1). t d f a -> Bool Исходный код
Указывает, является ли тип данных на самом деле newtype
Начиная с: base-4.7.0.0
Экземпляры
| (KnownSymbol n, KnownSymbol m, KnownSymbol p, SingI nt) => Datatype ('MetaData n m p nt :: Meta) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics МетодыdatatypeName :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaData n m p nt) f a -> [Char] Исходный код moduleName :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaData n m p nt) f a -> [Char] Исходный код packageName :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaData n m p nt) f a -> [Char] Исходный код isNewtype :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaData n m p nt) f a -> Bool Исходный код | |
class Constructor (c :: k) where Исходный код
Класс для типов данных, представляющих конструкторы данных
Минимальное полное определение
Методы
conName :: forall k1 t (f :: k1 -> Type) (a :: k1). t c f a -> [Char] Источник
Имя конструктора
conFixity :: forall k1 t (f :: k1 -> Type) (a :: k1). t c f a -> Fixity Источник
Фиксность конструктора
conIsRecord :: forall k1 t (f :: k1 -> Type) (a :: k1). t c f a -> Bool Источник
Показывает, является ли этот конструктор записью
Экземпляры
| (KnownSymbol n, SingI f, SingI r) => Constructor ('MetaCons n f r :: Meta) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics МетодыconName :: forall k1 t (f0 :: k1 -> Type) (a :: k1). t ('MetaCons n f r) f0 a -> [Char] Источник conFixity :: forall k1 t (f0 :: k1 -> Type) (a :: k1). t ('MetaCons n f r) f0 a -> Fixity Источник conIsRecord :: forall k1 t (f0 :: k1 -> Type) (a :: k1). t ('MetaCons n f r) f0 a -> Bool Источник | |
class Selector (s :: k) where Источник
Класс для типов данных, представляющих записи
Методы
selName :: forall k1 t (f :: k1 -> Type) (a :: k1). t s f a -> [Char] Источник
Имя селектора
selSourceUnpackedness :: forall k1 t (f :: k1 -> Type) (a :: k1). t s f a -> SourceUnpackedness Источник
Аннотация распаковки селектора (если есть)
Начиная с: base-4.9.0.0
selSourceStrictness :: forall k1 t (f :: k1 -> Type) (a :: k1). t s f a -> SourceStrictness Источник
Аннотация строгости селектора (если есть)
Начиная с: base-4.9.0.0
selDecidedStrictness :: forall k1 t (f :: k1 -> Type) (a :: k1). t s f a -> DecidedStrictness Источник
Строгость селектора, выведенная компилятором
Начиная с: base-4.9.0.0
Экземпляры
| (SingI mn, SingI su, SingI ss, SingI ds) => Selector ('MetaSel mn su ss ds :: Meta) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics МетодыselName :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaSel mn su ss ds) f a -> [Char] Источник selSourceUnpackedness :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaSel mn su ss ds) f a -> SourceUnpackedness Источник selSourceStrictness :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaSel mn su ss ds) f a -> SourceStrictness Источник selDecidedStrictness :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaSel mn su ss ds) f a -> DecidedStrictness Источник | |
Тип данных для представления фиксности конструктора. Инфиксное объявление | напрямую соответствует применению Infix.
Конструкторы
| Prefix | |
| Infix Associativity Int |
Экземпляры
| Eq Fixity Исходный код | Начиная с: base-4.6.0.0 |
||||
Определён в GHC.Internal.Generics | |||||
| Ord Fixity Исходный код | Начиная с: base-4.6.0.0 |
||||
Определён в GHC.Internal.Generics Методыcompare :: Fixity -> Fixity -> Ordering Исходный код (<) :: Fixity -> Fixity -> Bool Исходный код (<=) :: Fixity -> Fixity -> Bool Исходный код (>) :: Fixity -> Fixity -> Bool Исходный код (>=) :: Fixity -> Fixity -> Bool Исходный код max :: Fixity -> Fixity -> Fixity Исходный код min :: Fixity -> Fixity -> Fixity Исходный код | |||||
| Data Fixity Исходный код | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Fixity -> c Fixity Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Fixity Исходный код toConstr :: Fixity -> Constr Исходный код dataTypeOf :: Fixity -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Fixity) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Fixity) Исходный код gmapT :: (forall b. Data b => b -> b) -> Fixity -> Fixity Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Fixity -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Fixity -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Fixity -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Fixity -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Fixity -> m Fixity Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Fixity -> m Fixity Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Fixity -> m Fixity Исходный код | |||||
| Generic Fixity Исходный код | |||||
Определён в GHC.Internal.Generics Связанные типы
| |||||
| Read Fixity Исходный код | Начиная с: base-4.6.0.0 |
||||
Определён в GHC.Internal.Generics МетодыreadsPrec :: Int -> ReadS Fixity Исходный код readList :: ReadS [Fixity] Исходный код | |||||
| Show Fixity Исходный код | Начиная с: base-4.6.0.0 |
||||
Определён в GHC.Internal.Generics МетодыshowsPrec :: Int -> Fixity -> ShowS Исходный код show :: Fixity -> String Исходный код showList :: [Fixity] -> ShowS Исходный код | |||||
| type Rep Fixity Исходный код | Начиная с: base-4.7.0.0 |
||||
Определён в GHC.Internal.Generics type Rep Fixity = D1 ('MetaData "Fixity" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "Prefix" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Infix" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Associativity) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) | |||||
data FixityI Исходный код
Этот вариант Fixity представлен на уровне типов.
Начиная с: base-4.9.0.0
Конструкторы
| PrefixI | |
| InfixI Associativity Nat |
Экземпляры
| SingKind FixityI | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics Связанные типы
| |||||
| SingI 'PrefixI | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics | |||||
| (SingI a, KnownNat n) => SingI ('InfixI a n :: FixityI) | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics | |||||
| type DemoteRep FixityI Исходный код | |||||
Определён в GHC.Internal.Generics | |||||
| data Sing (a :: FixityI) Исходный код | |||||
Определён в GHC.Internal.Generics | |||||
data Associativity Исходный код
Тип данных для представления ассоциативности конструктора
Конструкторы
| LeftAssociative | |
| RightAssociative | |
| NotAssociative |
Экземпляры
| Eq Associativity Исходный код | Начиная с: base-4.6.0.0 |
||||
Определено в GHC.Internal.Generics Методы(==) :: Associativity -> Associativity -> Bool Исходный код (/=) :: Associativity -> Associativity -> Bool Исходный код | |||||
| Ord Associativity Исходный код | Начиная с: base-4.6.0.0 |
||||
Определено в GHC.Internal.Generics Методыcompare :: Associativity -> Associativity -> Ordering Исходный код (<) :: Associativity -> Associativity -> Bool Исходный код (<=) :: Associativity -> Associativity -> Bool Исходный код (>) :: Associativity -> Associativity -> Bool Исходный код (>=) :: Associativity -> Associativity -> Bool Исходный код max :: Associativity -> Associativity -> Associativity Исходный код min :: Associativity -> Associativity -> Associativity Исходный код | |||||
| Data Associativity Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Associativity -> c Associativity Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Associativity Исходный код toConstr :: Associativity -> Constr Исходный код dataTypeOf :: Associativity -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Associativity) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Associativity) Исходный код gmapT :: (forall b. Data b => b -> b) -> Associativity -> Associativity Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Associativity -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Associativity -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Associativity -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Associativity -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Associativity -> m Associativity Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Associativity -> m Associativity Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Associativity -> m Associativity Исходный код | |||||
| Bounded Associativity Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| Enum Associativity Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыsucc :: Associativity -> Associativity Исходный код pred :: Associativity -> Associativity Исходный код toEnum :: Int -> Associativity Исходный код fromEnum :: Associativity -> Int Исходный код enumFrom :: Associativity -> [Associativity] Исходный код enumFromThen :: Associativity -> Associativity -> [Associativity] Исходный код enumFromTo :: Associativity -> Associativity -> [Associativity] Исходный код enumFromThenTo :: Associativity -> Associativity -> Associativity -> [Associativity] Исходный код | |||||
| Generic Associativity Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom :: Associativity -> Rep Associativity x Исходный код to :: Rep Associativity x -> Associativity Исходный код | |||||
| SingKind Associativity | Начиная с: base-4.0.0.0 |
||||
Определено в GHC.Internal.Generics Связанные типы
МетодыfromSing :: forall (a :: Associativity). Sing a -> DemoteRep Associativity | |||||
| Ix Associativity Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыrange :: (Associativity, Associativity) -> [Associativity] Исходный код index :: (Associativity, Associativity) -> Associativity -> Int Исходный код unsafeIndex :: (Associativity, Associativity) -> Associativity -> Int Исходный код inRange :: (Associativity, Associativity) -> Associativity -> Bool Исходный код rangeSize :: (Associativity, Associativity) -> Int Исходный код unsafeRangeSize :: (Associativity, Associativity) -> Int Исходный код | |||||
| Read Associativity Исходный код | Начиная с: base-4.6.0.0 |
||||
Определено в GHC.Internal.Generics МетодыreadsPrec :: Int -> ReadS Associativity Исходный код readList :: ReadS [Associativity] Исходный код | |||||
| Show Associativity Исходный код | Начиная с: base-4.6.0.0 |
||||
Определён в GHC.Internal.Generics МетодыshowsPrec :: Int -> Associativity -> ShowS Источник show :: Associativity -> String Источник showList :: [Associativity] -> ShowS Источник | |
| SingI 'LeftAssociative | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Generics Методыsing :: Sing 'LeftAssociative | |
| SingI 'NotAssociative | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Generics Методыsing :: Sing 'NotAssociative | |
| SingI 'RightAssociative | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Generics Методыsing :: Sing 'RightAssociative | |
| type DemoteRep Associativity Источник | |
Определён в GHC.Internal.Generics type DemoteRep Associativity = Associativity
| |
| type Rep Associativity Источник | Начиная с: base-4.7.0.0 |
Определён в GHC.Internal.Generics type Rep Associativity = D1 ('MetaData "Associativity" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "LeftAssociative" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RightAssociative" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotAssociative" 'PrefixI 'False) (U1 :: Type -> Type))) | |
| data Sing (a :: Associativity) Источник | |
Определён в GHC.Internal.Generics data Sing (a :: Associativity) where
| |
prec :: Fixity -> Int Источник
Получить приоритет значения Fixity.
data SourceUnpackedness Источник
Распаковка поля в том виде, в котором пользователь указал её в исходном коде. Например, в следующем типе данных:
data E = ExampleConstructor Int
{-# NOUNPACK #-} Int
{-# UNPACK #-} Int
Поля ExampleConstructor имеют соответственно NoSourceUnpackedness, SourceNoUnpack и SourceUnpack.
Начиная с: base-4.9.0.0
Конструкторы
| NoSourceUnpackedness | |
| SourceNoUnpack | |
| SourceUnpack |
Экземпляры
| Eq SourceUnpackedness Исходный код | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics Методы(==) :: SourceUnpackedness -> SourceUnpackedness -> Bool Исходный код (/=) :: SourceUnpackedness -> SourceUnpackedness -> Bool Исходный код | |||||
| Ord SourceUnpackedness Исходный код | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics Методыcompare :: SourceUnpackedness -> SourceUnpackedness -> Ordering Исходный код (<) :: SourceUnpackedness -> SourceUnpackedness -> Bool Исходный код (<=) :: SourceUnpackedness -> SourceUnpackedness -> Bool Исходный код (>) :: SourceUnpackedness -> SourceUnpackedness -> Bool Исходный код (>=) :: SourceUnpackedness -> SourceUnpackedness -> Bool Исходный код max :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness Исходный код min :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness Исходный код | |||||
| Data SourceUnpackedness Исходный код | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourceUnpackedness -> c SourceUnpackedness Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourceUnpackedness Исходный код toConstr :: SourceUnpackedness -> Constr Исходный код dataTypeOf :: SourceUnpackedness -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourceUnpackedness) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourceUnpackedness) Исходный код gmapT :: (forall b. Data b => b -> b) -> SourceUnpackedness -> SourceUnpackedness Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourceUnpackedness -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourceUnpackedness -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> SourceUnpackedness -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> SourceUnpackedness -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness Исходный код | |||||
| Bounded SourceUnpackedness Исходный код | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics | |||||
| Enum SourceUnpackedness Исходный код | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics Методыsucc :: SourceUnpackedness -> SourceUnpackedness Исходный код pred :: SourceUnpackedness -> SourceUnpackedness Исходный код toEnum :: Int -> SourceUnpackedness Исходный код fromEnum :: SourceUnpackedness -> Int Исходный код enumFrom :: SourceUnpackedness -> [SourceUnpackedness] Исходный код enumFromThen :: SourceUnpackedness -> SourceUnpackedness -> [SourceUnpackedness] Исходный код enumFromTo :: SourceUnpackedness -> SourceUnpackedness -> [SourceUnpackedness] Исходный код enumFromThenTo :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness -> [SourceUnpackedness] Исходный код | |||||
| Generic SourceUnpackedness Исходный код | |||||
Определён в GHC.Internal.Generics Связанные типы
Методыfrom :: SourceUnpackedness -> Rep SourceUnpackedness x Исходный код to :: Rep SourceUnpackedness x -> SourceUnpackedness Исходный код | |||||
| SingKind SourceUnpackedness | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics Связанные типы
МетодыfromSing :: forall (a :: SourceUnpackedness). Sing a -> DemoteRep SourceUnpackedness | |||||
| Ix SourceUnpackedness Исходный код | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics Методыrange :: (SourceUnpackedness, SourceUnpackedness) -> [SourceUnpackedness] Исходный код index :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Int Исходный код unsafeIndex :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Int Исходный код inRange :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Bool Исходный код rangeSize :: (SourceUnpackedness, SourceUnpackedness) -> Int Исходный код unsafeRangeSize :: (SourceUnpackedness, SourceUnpackedness) -> Int Исходный код | |||||
| Read SourceUnpackedness Исходный код | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics | |||||
| Show SourceUnpackedness Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics МетодыshowsPrec :: Int -> SourceUnpackedness -> ShowS Исходный код show :: SourceUnpackedness -> String Исходный код showList :: [SourceUnpackedness] -> ShowS Исходный код | |
| SingI 'NoSourceUnpackedness | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыsing :: Sing 'NoSourceUnpackedness | |
| SingI 'SourceNoUnpack | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыsing :: Sing 'SourceNoUnpack | |
| SingI 'SourceUnpack | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыsing :: Sing 'SourceUnpack | |
| type DemoteRep SourceUnpackedness Исходный код | |
Определено в GHC.Internal.Generics type DemoteRep SourceUnpackedness = SourceUnpackedness
| |
| type Rep SourceUnpackedness Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics type Rep SourceUnpackedness = D1 ('MetaData "SourceUnpackedness" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "NoSourceUnpackedness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceNoUnpack" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceUnpack" 'PrefixI 'False) (U1 :: Type -> Type))) | |
| data Sing (a :: SourceUnpackedness) Исходный код | |
Определено в GHC.Internal.Generics data Sing (a :: SourceUnpackedness) where
| |
data SourceStrictness Исходный код
Строгость поля в том виде, в каком пользователь записал его в исходном коде. Например, в следующем типе данных:
data E = ExampleConstructor Int ~Int !Int
Поля ExampleConstructor имеют соответственно NoSourceStrictness, SourceLazy и SourceStrict.
Начиная с: base-4.9.0.0
Конструкторы
| NoSourceStrictness | |
| SourceLazy | |
| SourceStrict |
Экземпляры
| Eq SourceStrictness Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методы(==) :: SourceStrictness -> SourceStrictness -> Bool Исходный код (/=) :: SourceStrictness -> SourceStrictness -> Bool Исходный код | |||||
| Ord SourceStrictness Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыcompare :: SourceStrictness -> SourceStrictness -> Ordering Исходный код (<) :: SourceStrictness -> SourceStrictness -> Bool Исходный код (<=) :: SourceStrictness -> SourceStrictness -> Bool Исходный код (>) :: SourceStrictness -> SourceStrictness -> Bool Исходный код (>=) :: SourceStrictness -> SourceStrictness -> Bool Исходный код max :: SourceStrictness -> SourceStrictness -> SourceStrictness Исходный код min :: SourceStrictness -> SourceStrictness -> SourceStrictness Исходный код | |||||
| Data SourceStrictness Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourceStrictness -> c SourceStrictness Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourceStrictness Исходный код toConstr :: SourceStrictness -> Constr Исходный код dataTypeOf :: SourceStrictness -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourceStrictness) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourceStrictness) Исходный код gmapT :: (forall b. Data b => b -> b) -> SourceStrictness -> SourceStrictness Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourceStrictness -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourceStrictness -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> SourceStrictness -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> SourceStrictness -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness Исходный код | |||||
| Bounded SourceStrictness Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| Enum SourceStrictness Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыsucc :: SourceStrictness -> SourceStrictness Исходный код pred :: SourceStrictness -> SourceStrictness Исходный код toEnum :: Int -> SourceStrictness Исходный код fromEnum :: SourceStrictness -> Int Исходный код enumFrom :: SourceStrictness -> [SourceStrictness] Исходный код enumFromThen :: SourceStrictness -> SourceStrictness -> [SourceStrictness] Исходный код enumFromTo :: SourceStrictness -> SourceStrictness -> [SourceStrictness] Исходный код enumFromThenTo :: SourceStrictness -> SourceStrictness -> SourceStrictness -> [SourceStrictness] Исходный код | |||||
| Generic SourceStrictness Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom :: SourceStrictness -> Rep SourceStrictness x Исходный код to :: Rep SourceStrictness x -> SourceStrictness Исходный код | |||||
| SingKind SourceStrictness | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Ассоциированные типы
МетодыfromSing :: forall (a :: SourceStrictness). Sing a -> DemoteRep SourceStrictness | |||||
| Ix SourceStrictness Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыrange :: (SourceStrictness, SourceStrictness) -> [SourceStrictness] Исходный код index :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Int Исходный код unsafeIndex :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Int Исходный код inRange :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Bool Исходный код rangeSize :: (SourceStrictness, SourceStrictness) -> Int Исходный код unsafeRangeSize :: (SourceStrictness, SourceStrictness) -> Int Исходный код | |||||
| Read SourceStrictness Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| Show SourceStrictness Исходный код | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics МетодыshowsPrec :: Int -> SourceStrictness -> ShowS Источник show :: SourceStrictness -> String Источник showList :: [SourceStrictness] -> ShowS Источник | |
| SingI 'NoSourceStrictness | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Generics Методыsing :: Sing 'NoSourceStrictness | |
| SingI 'SourceLazy | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Generics Методыsing :: Sing 'SourceLazy | |
| SingI 'SourceStrict | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Generics Методыsing :: Sing 'SourceStrict | |
| type DemoteRep SourceStrictness Источник | |
Определён в GHC.Internal.Generics type DemoteRep SourceStrictness = SourceStrictness
| |
| type Rep SourceStrictness Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Generics type Rep SourceStrictness = D1 ('MetaData "SourceStrictness" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "NoSourceStrictness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceStrict" 'PrefixI 'False) (U1 :: Type -> Type))) | |
| data Sing (a :: SourceStrictness) Источник | |
Определён в GHC.Internal.Generics data Sing (a :: SourceStrictness) where
| |
data DecidedStrictness Источник
Строгость, которую GHC выводит для поля во время компиляции. Хотя существует девять различных сочетаний SourceUnpackedness и SourceStrictness, строгость, которую в итоге выбирает GHC, будет ленивой, строгой или распакованной. На выбор GHC влияют как записи пользователя в исходном коде, так и флаги GHC. В качестве примера рассмотрим этот тип данных:
data E = ExampleConstructor {-# UNPACK #-} !Int !Int Int
- Если скомпилировать без оптимизации и других языковых расширений, поля
ExampleConstructorбудут иметьDecidedStrict,DecidedStrictиDecidedLazyсоответственно. - Если скомпилировать с включённым
-XStrictData, поля будут иметьDecidedStrict,DecidedStrictиDecidedStrictсоответственно. - Если скомпилировать с включённым
-O2, поля будут иметьDecidedUnpack,DecidedStrictиDecidedLazyсоответственно.
Начиная с: base-4.9.0.0
Конструкторы
| DecidedLazy | |
| DecidedStrict | |
| DecidedUnpack |
Экземпляры
| Eq DecidedStrictness Исходный код | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методы(==) :: DecidedStrictness -> DecidedStrictness -> Bool Исходный код (/=) :: DecidedStrictness -> DecidedStrictness -> Bool Исходный код | |||||
| Ord DecidedStrictness Исходный код | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыcompare :: DecidedStrictness -> DecidedStrictness -> Ordering Исходный код (<) :: DecidedStrictness -> DecidedStrictness -> Bool Исходный код (<=) :: DecidedStrictness -> DecidedStrictness -> Bool Исходный код (>) :: DecidedStrictness -> DecidedStrictness -> Bool Исходный код (>=) :: DecidedStrictness -> DecidedStrictness -> Bool Исходный код max :: DecidedStrictness -> DecidedStrictness -> DecidedStrictness Исходный код min :: DecidedStrictness -> DecidedStrictness -> DecidedStrictness Исходный код | |||||
| Data DecidedStrictness Исходный код | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Data Методы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 Исходный код | |||||
| Bounded DecidedStrictness Исходный код | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| Enum DecidedStrictness Исходный код | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыsucc :: DecidedStrictness -> DecidedStrictness Исходный код pred :: DecidedStrictness -> DecidedStrictness Исходный код toEnum :: Int -> DecidedStrictness Исходный код fromEnum :: DecidedStrictness -> Int Исходный код enumFrom :: DecidedStrictness -> [DecidedStrictness] Исходный код enumFromThen :: DecidedStrictness -> DecidedStrictness -> [DecidedStrictness] Исходный код enumFromTo :: DecidedStrictness -> DecidedStrictness -> [DecidedStrictness] Исходный код enumFromThenTo :: DecidedStrictness -> DecidedStrictness -> DecidedStrictness -> [DecidedStrictness] Исходный код | |||||
| Generic DecidedStrictness Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom :: DecidedStrictness -> Rep DecidedStrictness x Исходный код to :: Rep DecidedStrictness x -> DecidedStrictness Исходный код | |||||
| SingKind DecidedStrictness | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Связанные типы
МетодыfromSing :: forall (a :: DecidedStrictness). Sing a -> DemoteRep DecidedStrictness | |||||
| Ix DecidedStrictness Исходный код | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыrange :: (DecidedStrictness, DecidedStrictness) -> [DecidedStrictness] Исходный код index :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Int Исходный код unsafeIndex :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Int Исходный код inRange :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Bool Исходный код rangeSize :: (DecidedStrictness, DecidedStrictness) -> Int Исходный код unsafeRangeSize :: (DecidedStrictness, DecidedStrictness) -> Int Исходный код | |||||
| Read DecidedStrictness Исходный код | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| Show DecidedStrictness Исходный код | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics МетодыshowsPrec :: Int -> DecidedStrictness -> ShowS Источник show :: DecidedStrictness -> String Источник showList :: [DecidedStrictness] -> ShowS Источник | |
| SingI 'DecidedLazy | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыsing :: Sing 'DecidedLazy | |
| SingI 'DecidedStrict | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыsing :: Sing 'DecidedStrict | |
| SingI 'DecidedUnpack | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыsing :: Sing 'DecidedUnpack | |
| type DemoteRep DecidedStrictness Источник | |
Определено в GHC.Internal.Generics type DemoteRep DecidedStrictness = DecidedStrictness
| |
| type Rep DecidedStrictness Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics type Rep DecidedStrictness = D1 ('MetaData "DecidedStrictness" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "DecidedLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DecidedStrict" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DecidedUnpack" 'PrefixI 'False) (U1 :: Type -> Type))) | |
| data Sing (a :: DecidedStrictness) Источник | |
Определено в GHC.Internal.Generics data Sing (a :: DecidedStrictness) where
| |
Тип данных для представления метаданных, связанных с типом данных (MetaData), конструктором (MetaCons) или селектором поля (MetaSel).
- В
MetaData n m p ntзначениеn— это имя типа данных,m— модуль, в котором определён тип данных,p— пакет, в котором определён тип данных, аntравно'True, если тип данных являетсяnewtype. - В
MetaCons n f sзначениеn— это имя конструктора,f— его фиксити, аsравно'True, если конструктор содержит селекторы записей. - В
MetaSel mn su ss ds, если поле использует синтаксис записей, тоmnравноJustимени записи. В противном случаеmnравноNothing.suиss— это аннотации распаковки и строгой вычисляемости поля, аds— строгая вычисляемость, которую GHC выводит для поля.
Начиная с: base-4.9.0.0
Конструкторы
| MetaData Symbol Symbol Symbol Bool | |
| MetaCons Symbol FixityI Bool | |
| MetaSel (Maybe Symbol) SourceUnpackedness SourceStrictness DecidedStrictness |
Экземпляры
| (KnownSymbol n, SingI f, SingI r) => Constructor ('MetaCons n f r :: Meta) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics МетодыconName :: forall k1 t (f0 :: k1 -> Type) (a :: k1). t ('MetaCons n f r) f0 a -> [Char] Источник conFixity :: forall k1 t (f0 :: k1 -> Type) (a :: k1). t ('MetaCons n f r) f0 a -> Fixity Источник conIsRecord :: forall k1 t (f0 :: k1 -> Type) (a :: k1). t ('MetaCons n f r) f0 a -> Bool Источник | |
| (KnownSymbol n, KnownSymbol m, KnownSymbol p, SingI nt) => Datatype ('MetaData n m p nt :: Meta) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics МетодыdatatypeName :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaData n m p nt) f a -> [Char] Источник moduleName :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaData n m p nt) f a -> [Char] Источник packageName :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaData n m p nt) f a -> [Char] Источник isNewtype :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaData n m p nt) f a -> Bool Источник | |
| (SingI mn, SingI su, SingI ss, SingI ds) => Selector ('MetaSel mn su ss ds :: Meta) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics МетодыselName :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaSel mn su ss ds) f a -> [Char] Источник selSourceUnpackedness :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaSel mn su ss ds) f a -> SourceUnpackedness Источник selSourceStrictness :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaSel mn su ss ds) f a -> SourceStrictness Источник selDecidedStrictness :: forall k1 t (f :: k1 -> Type) (a :: k1). t ('MetaSel mn su ss ds) f a -> DecidedStrictness Источник | |
Обобщённые классы типов
class Generic a where Источник
Представимые типы рода *. В GHC для этого класса можно автоматически выводить экземпляры, если включён флаг DeriveGeneric.
Экземпляр Generic должен удовлетворять следующим законам:
from . to ≡ id to . from ≡ id
Экземпляры
| Generic CCFlags Источник | |||||
Определён в GHC.RTS.Flags Связанные типы
| |||||
| Generic ConcFlags Источник | |||||
Определён в GHC.RTS.Flags Связанные типы
| |||||
| Generic DebugFlags Источник | |||||
Определён в GHC.RTS.Flags Связанные типы
Методыfrom :: DebugFlags -> Rep DebugFlags x Источник to :: Rep DebugFlags x -> DebugFlags Источник | |||||
| Generic DoCostCentres Источник | |||||
Определён в GHC.RTS.Flags Связанные типы
Методыfrom :: DoCostCentres -> Rep DoCostCentres x Источник to :: Rep DoCostCentres x -> DoCostCentres Источник | |||||
| Generic DoHeapProfile Источник | |||||
Определено в GHC.RTS.Flags Связанные типы
Методыfrom :: DoHeapProfile -> Rep DoHeapProfile x Исходный код to :: Rep DoHeapProfile x -> DoHeapProfile Исходный код | |||||
| Generic DoTrace Исходный код | |||||
Определено в GHC.RTS.Flags Связанные типы
| |||||
| Generic GCFlags Исходный код | |||||
Определено в GHC.RTS.Flags Связанные типы
| |||||
| Generic GiveGCStats Исходный код | |||||
Определено в GHC.RTS.Flags Связанные типы
Методыfrom :: GiveGCStats -> Rep GiveGCStats x Исходный код to :: Rep GiveGCStats x -> GiveGCStats Исходный код | |||||
| Generic HpcFlags Исходный код | |||||
Определено в GHC.RTS.Flags Связанные типы
Методыfrom :: HpcFlags -> Rep HpcFlags x Исходный код to :: Rep HpcFlags x -> HpcFlags Исходный код | |||||
| Generic MiscFlags Исходный код | |||||
Определено в GHC.RTS.Flags Связанные типы
Методыfrom :: MiscFlags -> Rep MiscFlags x Исходный код to :: Rep MiscFlags x -> MiscFlags Исходный код | |||||
| Generic ParFlags Исходный код | |||||
Определено в GHC.RTS.Flags Связанные типы
Методыfrom :: ParFlags -> Rep ParFlags x Исходный код to :: Rep ParFlags x -> ParFlags Исходный код | |||||
| Generic ProfFlags Исходный код | |||||
Определено в GHC.RTS.Flags Связанные типы
| |||||
| Generic RTSFlags Source | |||||
Определено в GHC.RTS.Flags Связанные типы
| |||||
| Generic TickyFlags Source | |||||
Определено в GHC.RTS.Flags Связанные типы
Методыfrom :: TickyFlags -> Rep TickyFlags x Источник to :: Rep TickyFlags x -> TickyFlags Источник | |||||
| Generic TraceFlags Source | |||||
Определено в GHC.RTS.Flags Ассоциированные типы
Методыfrom :: TraceFlags -> Rep TraceFlags x Исходный код to :: Rep TraceFlags x -> TraceFlags Исходный код | |||||
| Generic GCDetails Исходный код | |||||
Определено в GHC.Stats Ассоциированные типы
Методыfrom :: GCDetails -> Rep GCDetails x Исходный код to :: Rep GCDetails x -> GCDetails Исходный код | |||||
| Generic RTSStats Исходный код | |||||
Определено в GHC.Stats Связанные типы
Методыfrom :: RTSStats -> Rep RTSStats x Исходный код to :: Rep RTSStats x -> RTSStats Исходный код | |||||
| Generic Void Исходный код | |||||
Определено в GHC.Internal.Generics | |||||
| Generic ByteOrder Исходный код | |||||
Определено в GHC.Internal.ByteOrder Методыfrom :: ByteOrder -> Rep ByteOrder x Исходный код to :: Rep ByteOrder x -> ByteOrder Исходный код | |||||
| Generic ClosureType Исходный код | |||||
Определено в GHC.Internal.ClosureTypes Связанные типы
| |||||
|
Методыfrom :: ClosureType -> Rep ClosureType x Исходный код to :: Rep ClosureType x -> ClosureType Исходный код | |||||
| Generic All Исходный код | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Связанные типы
| |||||
| Generic Any Исходный код | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Связанные типы
| |||||
| Generic Version Исходный код | |||||
Определено в GHC.Internal.Data.Version Связанные типы
| |||||
| Generic Fingerprint Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom :: Fingerprint -> Rep Fingerprint x Исходный код to :: Rep Fingerprint x -> Fingerprint Исходный код | |||||
| Generic ForeignSrcLang Исходный код | |||||
Определено в GHC.Internal.ForeignSrcLang Связанные типы
Методыfrom :: ForeignSrcLang -> Rep ForeignSrcLang x Исходный код to :: Rep ForeignSrcLang x -> ForeignSrcLang Исходный код | |||||
| Generic Associativity Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom :: Associativity -> Rep Associativity x Исходный код to :: Rep Associativity x -> Associativity Исходный код | |||||
| Generic DecidedStrictness Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom :: DecidedStrictness -> Rep DecidedStrictness x Исходный код to :: Rep DecidedStrictness x -> DecidedStrictness Исходный код | |||||
| Generic Fixity Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
| |||||
| Generic SourceStrictness Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom :: SourceStrictness -> Rep SourceStrictness x Исходный код to :: Rep SourceStrictness x -> SourceStrictness Исходный код | |||||
| Generic SourceUnpackedness Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom :: SourceUnpackedness -> Rep SourceUnpackedness x Исходный код to :: Rep SourceUnpackedness x -> SourceUnpackedness Исходный код | |||||
| Generic PrimType Исходный код | |||||
Определено в GHC.Internal.Heap.Closures Ассоциированные типы
Методыfrom :: PrimType -> Rep PrimType x Исходный код to :: Rep PrimType x -> PrimType Исходный код | |||||
| Generic TsoFlags Исходный код | |||||
Определено в GHC.Internal.Heap.Closures Ассоциированные типы
| |||||
| Generic WhatNext Источник | |||||
Определено в GHC.Internal.Heap.Closures Ассоциированные типы
| |||||
| Generic WhyBlocked Источник | |||||
Определено в GHC.Internal.Heap.Closures Ассоциированные типы
Методыfrom :: WhyBlocked -> Rep WhyBlocked x Источник to :: Rep WhyBlocked x -> WhyBlocked Источник | |||||
| Generic StgInfoTable Источник | |||||
Определено в GHC.Internal.Heap.InfoTable.Types Ассоциированные типы
Методыfrom :: StgInfoTable -> Rep StgInfoTable x Исходный код to :: Rep StgInfoTable x -> StgInfoTable Исходный код | |||||
| Generic CostCentre Исходный код | |||||
Определено в GHC.Internal.Heap.ProfInfo.Types Ассоциированные типы
Методыfrom :: CostCentre -> Rep CostCentre x Исходный код to :: Rep CostCentre x -> CostCentre Исходный код | |||||
| Generic CostCentreStack Исходный код | |||||
Определено в GHC.Internal.Heap.ProfInfo.Types Ассоциированные типы
Методыfrom :: CostCentreStack -> Rep CostCentreStack x Исходный код to :: Rep CostCentreStack x -> CostCentreStack Исходный код | |||||
| Generic IndexTable Исходный код | |||||
Определено в GHC.Internal.Heap.ProfInfo.Types Связанные типы
Методыfrom :: IndexTable -> Rep IndexTable x Исходный код to :: Rep IndexTable x -> IndexTable Исходный код | |||||
| Generic StgTSOProfInfo Исходный код | |||||
Определено в GHC.Internal.Heap.ProfInfo.Types Связанные типы
Методыfrom :: StgTSOProfInfo -> Rep StgTSOProfInfo x Исходный код to :: Rep StgTSOProfInfo x -> StgTSOProfInfo Исходный код | |||||
| Generic ExitCode Исходный код | |||||
Определено в GHC.Internal.IO.Exception Связанные типы
Методыfrom :: ExitCode -> Rep ExitCode x Исходный код to :: Rep ExitCode x -> ExitCode Исходный код | |||||
| Generic Extension Исходный код | |||||
Определено в GHC.Internal.LanguageExtensions Связанные типы
| |||||
|
|
| |||||
| Generic CCFlags Источник | |||||
Определено в GHC.Internal.RTS.Flags Ассоциированные типы
| |||||
| Generic ConcFlags Источник | |||||
Определено в GHC.Internal.RTS.Flags Ассоциированные типы
| |||||
| Generic DebugFlags Источник | |||||
Определено в GHC.Internal.RTS.Flags Ассоциированные типы
Методыfrom :: DebugFlags -> Rep DebugFlags x Источник to :: Rep DebugFlags x -> DebugFlags Источник | |||||
| Generic DoCostCentres Источник | |||||
Определено в GHC.Internal.RTS.Flags Связанные типы
Методыfrom :: DoCostCentres -> Rep DoCostCentres x Источник to :: Rep DoCostCentres x -> DoCostCentres Источник | |||||
| Generic DoHeapProfile Источник | |||||
Определено в GHC.Internal.RTS.Flags Связанные типы
Методыfrom :: DoHeapProfile -> Rep DoHeapProfile x Источник to :: Rep DoHeapProfile x -> DoHeapProfile Источник | |||||
| Generic DoTrace Источник | |||||
Определено в GHC.Internal.RTS.Flags Связанные типы
| |||||
| Generic GCFlags Источник | |||||
Определено в GHC.Internal.RTS.Flags Связанные типы
| |||||
| Generic GiveGCStats Исходный код | |||||
Определено в GHC.Internal.RTS.Flags Связанные типы
Методыfrom :: GiveGCStats -> Rep GiveGCStats x Исходный код to :: Rep GiveGCStats x -> GiveGCStats Исходный код | |||||
| Generic HpcFlags Исходный код | |||||
Определено в GHC.Internal.RTS.Flags Ассоциированные типы
| |||||
| Generic MiscFlags Источник | |||||
Определено в GHC.Internal.RTS.Flags Ассоциированные типы
| |||||
| Generic ParFlags Источник | |||||
Определено в GHC.Internal.RTS.Flags Ассоциированные типы
| |||||
| Generic ProfFlags Источник | |||||
Определено в GHC.Internal.RTS.Flags Связанные типы
Методыfrom :: ProfFlags -> Rep ProfFlags x Исходный код to :: Rep ProfFlags x -> ProfFlags Исходный код | |||||
| Generic RTSFlags Исходный код | |||||
Определено в GHC.Internal.RTS.Flags Связанные типы
Методыfrom :: RTSFlags -> Rep RTSFlags x Исходный код to :: Rep RTSFlags x -> RTSFlags Исходный код | |||||
| Generic TickyFlags Исходный код | |||||
Определено в GHC.Internal.RTS.Flags Связанные типы
Методыfrom :: TickyFlags -> Rep TickyFlags x Исходный код to :: Rep TickyFlags x -> TickyFlags Исходный код | |||||
| Generic TraceFlags Исходный код | |||||
Определено в GHC.Internal.RTS.Flags Связанные типы
Методыfrom :: TraceFlags -> Rep TraceFlags x Источник to :: Rep TraceFlags x -> TraceFlags Источник | |||||
| Generic SrcLoc Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic GCDetails Источник | |||||
Определено в GHC.Internal.Stats Связанные типы
| |||||
| Generic RTSStats Источник | |||||
Определено в GHC.Internal.Stats Связанные типы
Методыfrom :: RTSStats -> Rep RTSStats x Исходный код to :: Rep RTSStats x -> RTSStats Исходный код | |||||
| Generic AnnLookup Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
Методыfrom :: AnnLookup -> Rep AnnLookup x Исходный код to :: Rep AnnLookup x -> AnnLookup Исходный код | |||||
| Generic AnnTarget Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
Методыfrom :: AnnTarget -> Rep AnnTarget x Исходный код to :: Rep AnnTarget x -> AnnTarget Исходный код | |||||
| Generic Bang Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic BndrVis Source | |||||
Определено в GHC.Internal.TH.Syntax | |||||
| Generic Body Source | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic Bytes Source | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic Callconv Source | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
Методыfrom :: Callconv -> Rep Callconv x Исходный код to :: Rep Callconv x -> Callconv Исходный код | |||||
| Generic Clause Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic Con Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic Dec Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
|
|
| |||||
| Generic DecidedStrictness Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
Методыfrom :: DecidedStrictness -> Rep DecidedStrictness x Источник to :: Rep DecidedStrictness x -> DecidedStrictness Источник | |||||
| Generic DerivClause Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
Методыfrom :: DerivClause -> Rep DerivClause x Источник to :: Rep DerivClause x -> DerivClause Источник | |||||
| Generic DerivStrategy Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
Методыfrom :: DerivStrategy -> Rep DerivStrategy x Источник to :: Rep DerivStrategy x -> DerivStrategy Источник | |||||
| Generic DocLoc Источник | |||||
Определено в GHC.Internal.TH.Syntax Ассоциированные типы
| |||||
| Generic Exp Источник | |||||
Определено в GHC.Internal.TH.Syntax Ассоциированные типы
| |||||
|
|
| Generic FamilyResultSig Источник | |||||
Определён в GHC.Internal.TH.Syntax Связанные типы
Методыfrom :: FamilyResultSig -> Rep FamilyResultSig x Источник to :: Rep FamilyResultSig x -> FamilyResultSig Источник | |||||
| Generic Fixity Источник | |||||
Определён в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic FixityDirection Источник | |||||
Определён в GHC.Internal.TH.Syntax Связанные типы
Методыfrom :: FixityDirection -> Rep FixityDirection x Источник to :: Rep FixityDirection x -> FixityDirection Источник | |||||
| Generic Foreign Источник | |||||
Определён в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic FunDep Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic Guard Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic Info Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic InjectivityAnn Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
Методыfrom :: InjectivityAnn -> Rep InjectivityAnn x Источник to :: Rep InjectivityAnn x -> InjectivityAnn Источник | |||||
| Generic Inline Источник | |||||
Определено в GHC.Internal.TH.Syntax Ассоциированные типы
| |||||
| Generic Lit Источник | |||||
Определено в GHC.Internal.TH.Syntax Ассоциированные типы
| |||||
| Generic Loc Источник | |||||
Определено в GHC.Internal.TH.Syntax Ассоциированные типы
| |||||
| Generic Match Источник | |||||
Определено в GHC.Internal.TH.Syntax Ассоциированные типы
| |||||
| Generic ModName Источник | |||||
Определено в GHC.Internal.TH.Syntax Ассоциированные типы
| |||||
| Generic Module Источник | |||||
Определено в GHC.Internal.TH.Syntax Ассоциированные типы
| |||||
| Generic ModuleInfo Источник | |||||
Определено в GHC.Internal.TH.Syntax Ассоциированные типы
Методыfrom :: ModuleInfo -> Rep ModuleInfo x Источник to :: Rep ModuleInfo x -> ModuleInfo Источник | |||||
| Generic Name Источник | |||||
Определено в GHC.Internal.TH.Syntax Ассоциированные типы
| |||||
| Generic NameFlavour Источник | |||||
Определено в GHC.Internal.TH.Syntax Ассоциированные типы
Методыfrom :: NameFlavour -> Rep NameFlavour x Источник to :: Rep NameFlavour x -> NameFlavour Источник | |||||
| Generic NameSpace Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic NamespaceSpecifier Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
Методыfrom :: NamespaceSpecifier -> Rep NamespaceSpecifier x Источник to :: Rep NamespaceSpecifier x -> NamespaceSpecifier Источник | |||||
| Generic OccName Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic Overlap Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic Pat Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
|
| Generic PatSynArgs Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
Методыfrom :: PatSynArgs -> Rep PatSynArgs x Источник to :: Rep PatSynArgs x -> PatSynArgs Источник | |||||
| Generic PatSynDir Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic Phases Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic PkgName Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic Pragma Источник | |||||
Определено в GHC.Internal.TH.Syntax Ассоциированные типы
| |||||
| Generic Range Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic Role Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic RuleBndr Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
Методыfrom :: RuleBndr -> Rep RuleBndr x Исходный код to :: Rep RuleBndr x -> RuleBndr Исходный код | |||||
| Generic RuleMatch Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Методыfrom :: RuleMatch -> Rep RuleMatch x Исходный код to :: Rep RuleMatch x -> RuleMatch Исходный код | |||||
| Generic Safety Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic SourceStrictness Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
Методыfrom :: SourceStrictness -> Rep SourceStrictness x Исходный код to :: Rep SourceStrictness x -> SourceStrictness Исходный код | |||||
| Generic SourceUnpackedness Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
Методыfrom :: SourceUnpackedness -> Rep SourceUnpackedness x Исходный код to :: Rep SourceUnpackedness x -> SourceUnpackedness Исходный код | |||||
| Generic Specificity Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
Методыfrom :: Specificity -> Rep Specificity x Исходный код to :: Rep Specificity x -> Specificity Исходный код | |||||
| Generic Stmt Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic TyLit Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic TySynEqn Исходный код | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic Type Source | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
|
| |||||
| Generic TypeFamilyHead Source | |||||
Определено в GHC.Internal.TH.Syntax Ассоциированные типы
Методыfrom :: TypeFamilyHead -> Rep TypeFamilyHead x Источник to :: Rep TypeFamilyHead x -> TypeFamilyHead Источник | |||||
| Generic Ordering Источник | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
| |||||
| Generic GeneralCategory Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom :: GeneralCategory -> Rep GeneralCategory x Исходный код to :: Rep GeneralCategory x -> GeneralCategory Исходный код | |||||
| Generic () Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic Bool Исходный код | |||||
Определено в GHC.Internal.Generics | |||||
| Generic (Complex a) Исходный код | |||||
Определено в Data.Complex Связанные типы
Методыfrom :: Complex a -> Rep (Complex a) x Исходный код to :: Rep (Complex a) x -> Complex a Исходный код | |||||
| Generic (First a) Исходный код | |||||
Определено в Data.Semigroup Связанные типы
Методыfrom :: First a -> Rep (First a) x Исходный код to :: Rep (First a) x -> First a Исходный код | |||||
| Generic (Last a) Исходный код | |||||
Определён в Data.Semigroup Ассоциированные типы
| |||||
| Generic (Max a) Исходный код | |||||
Определён в Data.Semigroup Ассоциированные типы
| |||||
| Generic (Min a) Исходный код | |||||
Определён в Data.Semigroup Ассоциированные типы
| |||||
| Generic (WrappedMonoid m) Исходный код | |||||
Определён в Data.Semigroup Ассоциированные типы
Методыfrom :: WrappedMonoid m -> Rep (WrappedMonoid m) x Исходный код to :: Rep (WrappedMonoid m) x -> WrappedMonoid m Исходный код | |||||
| Generic (NonEmpty a) Исходный код | |||||
Определён в GHC.Internal.Generics Ассоциированные типы
Методыfrom :: NonEmpty a -> Rep (NonEmpty a) x Исходный код to :: Rep (NonEmpty a) x -> NonEmpty a Исходный код | |||||
| Generic (Identity a) Исходный код | |||||
Определён в GHC.Internal.Data.Functor.Identity Ассоциированные типы
Методыfrom :: Identity a -> Rep (Identity a) x Исходный код to :: Rep (Identity a) x -> Identity a Исходный код | |||||
| Generic (First a) Исходный код | |||||
Определён в GHC.Internal.Data.Monoid Ассоциированные типы
Методыfrom :: First a -> Rep (First a) x Исходный код to :: Rep (First a) x -> First a Исходный код | |||||
| Generic (Last a) Исходный код | |||||
Определён в GHC.Internal.Data.Monoid Ассоциированные типы
| |||||
| Generic (Down a) Исходный код | |||||
Определён в GHC.Internal.Generics Ассоциированные типы
| |||||
| Generic (Dual a) Исходный код | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Связанные типы
| |||||
| Generic (Endo a) Источник | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Связанные типы
| |||||
| Generic (Product a) Источник | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Связанные типы
| |||||
| Generic (Sum a) Источник | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Связанные типы
| |||||
| Generic (ZipList a) Источник | |||||
Определено в GHC.Internal.Functor.ZipList Связанные типы
| |||||
| Generic (Par1 p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (GenClosure b) Источник | |||||
Определено в GHC.Internal.Heap.Closures Связанные типы
| |||||
|
|
Методыfrom :: GenClosure b -> Rep (GenClosure b) x Исходный код to :: Rep (GenClosure b) x -> GenClosure b Исходный код | |||||
| Generic (GenStackField b) Исходный код | |||||
Определено в GHC.Internal.Heap.Closures Связанные типы
Методыfrom :: GenStackField b -> Rep (GenStackField b) x Исходный код to :: Rep (GenStackField b) x -> GenStackField b Исходный код | |||||
| Generic (GenStackFrame b) Исходный код | |||||
Определено в GHC.Internal.Heap.Closures Связанные типы
Методыfrom :: GenStackFrame b -> Rep (GenStackFrame b) x Исходный код to :: Rep (GenStackFrame b) x -> GenStackFrame b Исходный код | |||||
| Generic (GenStgStackClosure b) Исходный код | |||||
Определено в GHC.Internal.Heap.Closures Связанные типы
Методыfrom :: GenStgStackClosure b -> Rep (GenStgStackClosure b) x Источник to :: Rep (GenStgStackClosure b) x -> GenStgStackClosure b Источник | |||||
| Generic (TyVarBndr flag) Источник | |||||
Определено в GHC.Internal.TH.Syntax Связанные типы
| |||||
| Generic (Maybe a) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (Solo a) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic [a] Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (WrappedMonad m a) Источник | |||||
Определено в Control.Applicative Связанные типы
Методыfrom :: WrappedMonad m a -> Rep (WrappedMonad m a) x Источник to :: Rep (WrappedMonad m a) x -> WrappedMonad m a Источник | |||||
| Generic (Arg a b) Источник | |||||
Определено в Data.Semigroup Связанные типы
Методыfrom :: Arg a b -> Rep (Arg a b) x Исходный код to :: Rep (Arg a b) x -> Arg a b Исходный код | |||||
| Generic (Either a b) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom :: Either a b -> Rep (Either a b) x Исходный код to :: Rep (Either a b) x -> Either a b Исходный код | |||||
| Generic (Proxy t) Исходный код | |||||
Определено в GHC.Internal.Generics Методыfrom :: Proxy t -> Rep (Proxy t) x Исходный код to :: Rep (Proxy t) x -> Proxy t Исходный код | |||||
| Generic (U1 p) Исходный код | |||||
Определено в GHC.Internal.Generics | |||||
| Generic (V1 p) Исходный код | |||||
Определено в GHC.Internal.Generics | |||||
| Generic (a, b) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (WrappedArrow a b c) Исходный код | |||||
Определено в Control.Applicative Связанные типы
Методыfrom :: WrappedArrow a b c -> Rep (WrappedArrow a b c) x Исходный код to :: Rep (WrappedArrow a b c) x -> WrappedArrow a b c Исходный код | |||||
| Generic (Kleisli m a b) Исходный код | |||||
Определено в GHC.Internal.Control.Arrow Связанные типы
Методыfrom :: Kleisli m a b -> Rep (Kleisli m a b) x Исходный код to :: Rep (Kleisli m a b) x -> Kleisli m a b Исходный код | |||||
| Generic (Const a b) Исходный код | |||||
Определено в GHC.Internal.Data.Functor.Const Связанные типы
Методыfrom :: Const a b -> Rep (Const a b) x Исходный код to :: Rep (Const a b) x -> Const a b Исходный код | |||||
| Generic (Ap f a) Исходный код | |||||
Определено в GHC.Internal.Data.Monoid Связанные типы
| |||||
| Generic (Alt f a) Источник | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Связанные типы
| |||||
| Generic (Rec1 f p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (URec (Ptr ()) p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (URec Char p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (URec Double p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (URec Float p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (URec Int p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (URec Word p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (a, b, c) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (Product f g a) Источник | |||||
Определено в Data.Functor.Product Связанные типы
| |||||
| Generic (Sum f g a) Источник | |||||
Определено в Data.Functor.Sum Связанные типы
| |||||
| Generic ((f :*: g) p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic ((f :+: g) p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (K1 i c p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (a, b, c, d) Источник | |||||
Определён в GHC.Internal.Generics Ассоциированные типы
Методыfrom :: (a, b, c, d) -> Rep (a, b, c, d) x Исходный код to :: Rep (a, b, c, d) x -> (a, b, c, d) Исходный код | |||||
| Generic (Compose f g a) Исходный код | |||||
Определён в Data.Functor.Compose Ассоциированные типы
Методыfrom :: Compose f g a -> Rep (Compose f g a) x Исходный код to :: Rep (Compose f g a) x -> Compose f g a Исходный код | |||||
| Generic ((f :.: g) p) Исходный код | |||||
Определён в GHC.Internal.Generics Ассоциированные типы
Методыfrom :: (f :.: g) p -> Rep ((f :.: g) p) x Исходный код to :: Rep ((f :.: g) p) x -> (f :.: g) p Исходный код | |||||
| Generic (M1 i c f p) Исходный код | |||||
Определён в GHC.Internal.Generics Ассоциированные типы
Методыfrom :: M1 i c f p -> Rep (M1 i c f p) x Исходный код to :: Rep (M1 i c f p) x -> M1 i c f p Исходный код | |||||
| Generic (a, b, c, d, e) Исходный код | |||||
Определён в GHC.Internal.Generics Ассоциированные типы
Методыfrom :: (a, b, c, d, e) -> Rep (a, b, c, d, e) x Исходный код to :: Rep (a, b, c, d, e) x -> (a, b, c, d, e) Исходный код | |||||
| Generic (a, b, c, d, e, f) Исходный код | |||||
Определён в GHC.Internal.Generics Ассоциированные типы
Методыfrom :: (a, b, c, d, e, f) -> Rep (a, b, c, d, e, f) x Исходный код to :: Rep (a, b, c, d, e, f) x -> (a, b, c, d, e, f) Исходный код | |||||
| Generic (a, b, c, d, e, f, g) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (a, b, c, d, e, f, g, h) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (a, b, c, d, e, f, g, h, i) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic (a, b, c, d, e, f, g, h, i, j) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom :: (a, b, c, d, e, f, g, h, i, j) -> Rep (a, b, c, d, e, f, g, h, i, j) x Исходный код to :: Rep (a, b, c, d, e, f, g, h, i, j) x -> (a, b, c, d, e, f, g, h, i, j) Исходный код | |||||
| Generic (a, b, c, d, e, f, g, h, i, j, k) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom :: (a, b, c, d, e, f, g, h, i, j, k) -> Rep (a, b, c, d, e, f, g, h, i, j, k) x Исходный код to :: Rep (a, b, c, d, e, f, g, h, i, j, k) x -> (a, b, c, d, e, f, g, h, i, j, k) Исходный код | |||||
| Generic (a, b, c, d, e, f, g, h, i, j, k, l) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom :: (a, b, c, d, e, f, g, h, i, j, k, l) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l) x Исходный код to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l) x -> (a, b, c, d, e, f, g, h, i, j, k, l) Исходный код | |||||
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m) Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m) x Исходный код to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m) x -> (a, b, c, d, e, f, g, h, i, j, k, l, m) Исходный код | |||||
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n) x Исходный код to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n) x -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Исходный код | |||||
| Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source | |||||
Определён в GHC.Internal.Generics Связанные типы
Методыfrom :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) x Исходный код to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) x -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Исходный код | |||||
class Generic1 (f :: k -> Type) where Исходный код
Представимые типы вида * -> * (или вида k -> *, если включён PolyKinds). В GHC для этого класса можно автоматически вывести экземпляр с включённым флагом DeriveGeneric.
Экземпляр Generic1 должен удовлетворять следующим законам:
from1 . to1 ≡ id to1 . from1 ≡ id
Методы
from1 :: forall (a :: k). f a -> Rep1 f a Исходный код
Преобразует значение типа данных в его представление
to1 :: forall (a :: k). Rep1 f a -> f a Исходный код
Преобразует представление в значение типа данных
Экземпляры
| Generic1 Complex Источник | |||||
Определён в Data.Complex Связанные типы
| |||||
| Generic1 First Источник | |||||
Определён в Data.Semigroup Связанные типы
| |||||
| Generic1 Last Источник | |||||
Определён в Data.Semigroup Связанные типы
| |||||
| Generic1 Max Источник | |||||
Определён в Data.Semigroup Связанные типы
| |||||
| Generic1 Min Источник | |||||
Определён в Data.Semigroup Связанные типы
| |||||
| Generic1 WrappedMonoid Источник | |||||
Определён в Data.Semigroup Связанные типы
Методыfrom1 :: WrappedMonoid a -> Rep1 WrappedMonoid a Источник to1 :: Rep1 WrappedMonoid a -> WrappedMonoid a Источник | |||||
| Generic1 NonEmpty Источник | |||||
Определён в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 Identity Источник | |||||
Определён в GHC.Internal.Data.Functor.Identity Связанные типы
| |||||
| Generic1 First Источник | |||||
Определён в GHC.Internal.Data.Monoid Связанные типы
| |||||
| Generic1 Last Источник | |||||
Определено в GHC.Internal.Data.Monoid Связанные типы
| |||||
| Generic1 Down Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 Dual Исходный код | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Связанные типы
| |||||
| Generic1 Product Исходный код | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Связанные типы
Методыfrom1 :: Product a -> Rep1 Product a Исходный код to1 :: Rep1 Product a -> Product a Исходный код | |||||
| Generic1 Sum Исходный код | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Связанные типы
| |||||
| Generic1 ZipList Исходный код | |||||
Определено в GHC.Internal.Functor.ZipList Связанные типы
Методыfrom1 :: ZipList a -> Rep1 ZipList a Исходный код to1 :: Rep1 ZipList a -> ZipList a Исходный код | |||||
| Generic1 Par1 Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 Maybe Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 Solo Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 [] Исходный код | |||||
Определён в GHC.Internal.Generics Ассоциированные типы
| |||||
| Generic1 (WrappedMonad m :: Type -> Type) Исходный код | |||||
Определён в Control.Applicative Ассоциированные типы
Методыfrom1 :: WrappedMonad m a -> Rep1 (WrappedMonad m) a Исходный код to1 :: Rep1 (WrappedMonad m) a -> WrappedMonad m a Исходный код | |||||
| Generic1 (Arg a :: Type -> Type) Исходный код | |||||
Определён в Data.Semigroup Ассоциированные типы
Методыfrom1 :: Arg a a0 -> Rep1 (Arg a) a0 Исходный код to1 :: Rep1 (Arg a) a0 -> Arg a a0 Исходный код | |||||
| Generic1 (Either a :: Type -> Type) Исходный код | |||||
Определён в GHC.Internal.Generics Ассоциированные типы
Методыfrom1 :: Either a a0 -> Rep1 (Either a) a0 Исходный код to1 :: Rep1 (Either a) a0 -> Either a a0 Исходный код | |||||
| Generic1 ((,) a :: Type -> Type) Исходный код | |||||
Определён в GHC.Internal.Generics Ассоциированные типы
Методыfrom1 :: (a, a0) -> Rep1 ((,) a) a0 Исходный код to1 :: Rep1 ((,) a) a0 -> (a, a0) Исходный код | |||||
| Generic1 (Proxy :: k -> Type) Исходный код | |||||
Определён в GHC.Internal.Generics | |||||
| Generic1 (U1 :: k -> Type) Исходный код | |||||
Определён в GHC.Internal.Generics | |||||
| Generic1 (V1 :: k -> Type) Исходный код | |||||
Определён в GHC.Internal.Generics | |||||
| Generic1 (WrappedArrow a b :: Type -> Type) Источник | |||||
Определено в Control.Applicative Ассоциированные типы
Методыfrom1 :: WrappedArrow a b a0 -> Rep1 (WrappedArrow a b) a0 Источник to1 :: Rep1 (WrappedArrow a b) a0 -> WrappedArrow a b a0 Источник | |||||
| Generic1 (Kleisli m a :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Control.Arrow Ассоциированные типы
| |||||
| Generic1 ((,,) a b :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
| |||||
| Generic1 (Const a :: k -> Type) Источник | |||||
Определено в GHC.Internal.Data.Functor.Const Ассоциированные типы
| |||||
| Generic1 (Ap f :: k -> Type) Источник | |||||
Определено в GHC.Internal.Data.Monoid Ассоциированные типы
| |||||
| Generic1 (Alt f :: k -> Type) Источник | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Ассоциированные типы
| |||||
| Generic1 (Rec1 f :: k -> Type) Источник | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
| |||||
| Generic1 (URec (Ptr ()) :: k -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 (URec Char :: k -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 (URec Double :: k -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 (URec Float :: k -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 (URec Int :: k -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 (URec Word :: k -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 ((,,,) a b c :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 (Product f g :: k -> Type) Источник | |||||
Определено в Data.Functor.Product Ассоциированные типы
Методыfrom1 :: forall (a :: k). Product f g a -> Rep1 (Product f g) a Исходный код to1 :: forall (a :: k). Rep1 (Product f g) a -> Product f g a Исходный код | |||||
| Generic1 (Sum f g :: k -> Type) Исходный код | |||||
Определено в Data.Functor.Sum Ассоциированные типы
Методыfrom1 :: forall (a :: k). Sum f g a -> Rep1 (Sum f g) a Исходный код to1 :: forall (a :: k). Rep1 (Sum f g) a -> Sum f g a Исходный код | |||||
| Generic1 (f :*: g :: k -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom1 :: forall (a :: k). (f :*: g) a -> Rep1 (f :*: g) a Исходный код to1 :: forall (a :: k). Rep1 (f :*: g) a -> (f :*: g) a Исходный код | |||||
| Generic1 (f :+: g :: k -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom1 :: forall (a :: k). (f :+: g) a -> Rep1 (f :+: g) a Исходный код to1 :: forall (a :: k). Rep1 (f :+: g) a -> (f :+: g) a Исходный код | |||||
| Generic1 (K1 i c :: k -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
| |||||
| Generic1 ((,,,,) a b c d :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom1 :: (a, b, c, d, a0) -> Rep1 ((,,,,) a b c d) a0 Исходный код to1 :: Rep1 ((,,,,) a b c d) a0 -> (a, b, c, d, a0) Исходный код | |||||
| Functor f => Generic1 (Compose f g :: k -> Type) Исходный код | |||||
Определено в Data.Functor.Compose Связанные типы
Методыfrom1 :: forall (a :: k). Compose f g a -> Rep1 (Compose f g) a Исходный код to1 :: forall (a :: k). Rep1 (Compose f g) a -> Compose f g a Исходный код | |||||
| Functor f => Generic1 (f :.: g :: k -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: forall (a :: k). (f :.: g) a -> Rep1 (f :.: g) a Исходный код to1 :: forall (a :: k). Rep1 (f :.: g) a -> (f :.: g) a Исходный код | |||||
| Generic1 (M1 i c f :: k -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: forall (a :: k). M1 i c f a -> Rep1 (M1 i c f) a Исходный код to1 :: forall (a :: k). Rep1 (M1 i c f) a -> M1 i c f a Исходный код | |||||
| Generic1 ((,,,,,) a b c d e :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, a0) -> Rep1 ((,,,,,) a b c d e) a0 Исходный код to1 :: Rep1 ((,,,,,) a b c d e) a0 -> (a, b, c, d, e, a0) Исходный код | |||||
| Generic1 ((,,,,,,) a b c d e f :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, f, a0) -> Rep1 ((,,,,,,) a b c d e f) a0 Исходный код to1 :: Rep1 ((,,,,,,) a b c d e f) a0 -> (a, b, c, d, e, f, a0) Исходный код | |||||
| Generic1 ((,,,,,,,) a b c d e f g :: Type -> Type) Исходный код | |||||
Определён в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 ((,,,,,,,,) a b c d e f g h :: Type -> Type) Источник | |||||
Определён в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, a0) -> Rep1 ((,,,,,,,,) a b c d e f g h) a0 Источник to1 :: Rep1 ((,,,,,,,,) a b c d e f g h) a0 -> (a, b, c, d, e, f, g, h, a0) Источник | |||||
| Generic1 ((,,,,,,,,,) a b c d e f g h i :: Type -> Type) Источник | |||||
Определён в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, a0) -> Rep1 ((,,,,,,,,,) a b c d e f g h i) a0 Источник to1 :: Rep1 ((,,,,,,,,,) a b c d e f g h i) a0 -> (a, b, c, d, e, f, g, h, i, a0) Источник | |||||
| Generic1 ((,,,,,,,,,,) a b c d e f g h i j :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, j, a0) -> Rep1 ((,,,,,,,,,,) a b c d e f g h i j) a0 Исходный код to1 :: Rep1 ((,,,,,,,,,,) a b c d e f g h i j) a0 -> (a, b, c, d, e, f, g, h, i, j, a0) Исходный код | |||||
| Generic1 ((,,,,,,,,,,,) a b c d e f g h i j k :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, j, k, a0) -> Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k) a0 Исходный код to1 :: Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k) a0 -> (a, b, c, d, e, f, g, h, i, j, k, a0) Исходный код | |||||
| Generic1 ((,,,,,,,,,,,,) a b c d e f g h i j k l :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, j, k, l, a0) -> Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l) a0 Исходный код to1 :: Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l) a0 -> (a, b, c, d, e, f, g, h, i, j, k, l, a0) Исходный код | |||||
| Generic1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, a0) -> Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m) a0 Исходный код to1 :: Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m) a0 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, a0) Исходный код | |||||
| Generic1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n :: Type -> Type) Исходный код | |||||
Определён в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, a0) -> Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n) a0 Источник to1 :: Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n) a0 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, a0) Источник | |||||
Обёртка Generic
newtype Generically a Источник
Тип данных, экземпляры которого определены обобщённо с использованием представления Generic. Generically1 — версия Generically с конструктором высшего рода, использующая Generic1.
Обобщённые экземпляры можно вывести с помощью Generically A, используя -XDerivingVia.
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DerivingVia #-}
import GHC.Generics (Generic)
data V4 a = V4 a a a a
deriving stock Generic
deriving (Semigroup, Monoid)
via Generically (V4 a)
Это соответствует экземплярам Semigroup и Monoid, определённым посредством поточечного подъёма:
instance Semigroup a => Semigroup (V4 a) where
(<>) :: V4 a -> V4 a -> V4 a
V4 a1 b1 c1 d1 <> V4 a2 b2 c2 d2 =
V4 (a1 <> a2) (b1 <> b2) (c1 <> c2) (d1 <> d2)
instance Monoid a => Monoid (V4 a) where
mempty :: V4 a
mempty = V4 mempty mempty mempty mempty
Ранее для этого требовалось изменить класс типов, добавив определения обобщённых методов (-XDefaultSignatures), и вывести его с помощью стратегии anyclass (-XDeriveAnyClass). Наличие /типа-посредника/, такого как Generically, отделяет экземпляр от класса типов.
Начиная с: base-4.17.0.0
Конструкторы
| Generically a |
Экземпляры
| (Generic a, Monoid (Rep a ())) => Monoid (Generically a) Источник | Начиная с: base-4.17.0.0 |
Определён в GHC.Internal.Generics Методыmempty :: Generically a Источник mappend :: Generically a -> Generically a -> Generically a Источник mconcat :: [Generically a] -> Generically a Источник | |
| (Generic a, Semigroup (Rep a ())) => Semigroup (Generically a) Источник | Начиная с: base-4.17.0.0 |
Определён в GHC.Internal.Generics Методы(<>) :: Generically a -> Generically a -> Generically a Источник sconcat :: NonEmpty (Generically a) -> Generically a Источник stimes :: Integral b => b -> Generically a -> Generically a Источник | |
newtype Generically1 (f :: k -> Type) (a :: k) where Источник
Тип, экземпляры которого определены обобщённо с использованием представления Generic1. Generically1 — версия Generically с конструктором высшего рода, использующая Generic.
Обобщённые экземпляры для конструкторов типов можно вывести с помощью Generically1 F, используя -XDerivingVia.
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DerivingVia #-}
import GHC.Generics (Generic)
data V4 a = V4 a a a a
deriving stock (Functor, Generic1)
deriving Applicative
via Generically1 V4
Это соответствует экземплярам Applicative, определённым посредством поточечного подъёма:
instance Applicative V4 where
pure :: a -> V4 a
pure a = V4 a a a a
liftA2 :: (a -> b -> c) -> (V4 a -> V4 b -> V4 c)
liftA2 (·) (V4 a1 b1 c1 d1) (V4 a2 b2 c2 d2) =
V4 (a1 · a2) (b1 · b2) (c1 · c2) (d1 · d2)
Ранее для этого требовалось изменить класс типов, добавив определения обобщённых методов (-XDefaultSignatures), и вывести его с помощью стратегии anyclass (-XDeriveAnyClass). Наличие /типа-посредника/, такого как Generically1, отделяет экземпляр от класса типов.
Начиная с: base-4.17.0.0
Конструкторы
| Generically1 :: forall {k} (f :: k -> Type) (a :: k). f a -> Generically1 f a |
Экземпляры
| (Generic1 f, Eq1 (Rep1 f)) => Eq1 (Generically1 f) Исходный код | Начиная с: base-4.17.0.0 |
Определено в Data.Functor.Classes МетодыliftEq :: (a -> b -> Bool) -> Generically1 f a -> Generically1 f b -> Bool Исходный код | |
| (Generic1 f, Ord1 (Rep1 f)) => Ord1 (Generically1 f) Исходный код | Начиная с: base-4.17.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> Generically1 f a -> Generically1 f b -> Ordering Исходный код | |
| (Generic1 f, Alternative (Rep1 f)) => Alternative (Generically1 f) Исходный код | Начиная с: base-4.17.0.0 |
Определено в GHC.Internal.Generics Методыempty :: Generically1 f a Исходный код (<|>) :: Generically1 f a -> Generically1 f a -> Generically1 f a Исходный код some :: Generically1 f a -> Generically1 f [a] Исходный код many :: Generically1 f a -> Generically1 f [a] Исходный код | |
| (Generic1 f, Applicative (Rep1 f)) => Applicative (Generically1 f) Исходный код | Начиная с: base-4.17.0.0 |
Определено в GHC.Internal.Generics Методыpure :: a -> Generically1 f a Исходный код (<*>) :: Generically1 f (a -> b) -> Generically1 f a -> Generically1 f b Исходный код liftA2 :: (a -> b -> c) -> Generically1 f a -> Generically1 f b -> Generically1 f c Исходный код (*>) :: Generically1 f a -> Generically1 f b -> Generically1 f b Исходный код (<*) :: Generically1 f a -> Generically1 f b -> Generically1 f a Исходный код | |
| (Generic1 f, Functor (Rep1 f)) => Functor (Generically1 f) Исходный код | Начиная с: base-4.17.0.0 |
Определено в GHC.Internal.Generics Методыfmap :: (a -> b) -> Generically1 f a -> Generically1 f b Исходный код (<$) :: a -> Generically1 f b -> Generically1 f a Исходный код | |
| (Generic1 f, Eq (Rep1 f a)) => Eq (Generically1 f a) Исходный код | Начиная с: base-4.18.0.0 |
Определено в GHC.Internal.Generics Методы(==) :: Generically1 f a -> Generically1 f a -> Bool Исходный код (/=) :: Generically1 f a -> Generically1 f a -> Bool Исходный код | |
| (Generic1 f, Ord (Rep1 f a)) => Ord (Generically1 f a) Исходный код | Начиная с: base-4.18.0.0 |
Определено в GHC.Internal.Generics Методыcompare :: Generically1 f a -> Generically1 f a -> Ordering Исходный код (<) :: Generically1 f a -> Generically1 f a -> Bool Исходный код (<=) :: Generically1 f a -> Generically1 f a -> Bool Исходный код (>) :: Generically1 f a -> Generically1 f a -> Bool Исходный код (>=) :: Generically1 f a -> Generically1 f a -> Bool Исходный код max :: Generically1 f a -> Generically1 f a -> Generically1 f a Исходный код min :: Generically1 f a -> Generically1 f a -> Generically1 f a Исходный код | |
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.14.1/docs/libraries/base-4.22.0.0-66f8/GHC-Generics.html