Spec-Zone.ru › Haskell 8

GHC.Generics

Авторские права (c) Университет Утрехта 2010-2011 Оксфордский университет 2012-2014
Лицензия см. libraries/base/LICENSE
Поддержка libraries@haskell.org
Устойчивость внутренняя
Переносимость непереносимая
Безопасный Haskell Надёжный
Язык Haskell2010

Содержание

  • Введение
    • Представление типов данных
    • Производные и фундаментальные типы представления
      • Отдельные поля конструкторов: K1
      • Метаинформация: M1
      • Дополнительные конструкторы типов общего представления
        • Пустые типы данных: V1
        • Конструкторы без полей: U1
      • Представление типов с множеством конструкторов или полей
    • Определение функций с типом данных
      • Определение типов общего представления
      • Общетиповые реализации
      • Оборачивание и общетиповые значения по умолчанию
      • Пропуск общетиповых реализаций
    • Общетиповые классы конструкторов
      • Класс Generic1
      • Представление типов * -> *
      • Представление типов k -> *
      • Представление неупакованных типов
  • Общетиповые типы представления
    • Неупакованные типы представления
    • Синонимы для удобства
  • Метаинформация
  • Общетиповые классы типов

Описание

Если вы используете 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)

Представление типов с множеством конструкторов или полей

Поскольку :+: и :*: являются просто двоичными операторами, можно спросить, что произойдёт, если тип данных имеет более двух конструкторов или конструктор с более чем двумя полями. Ответ прост: операторы используются несколько раз, чтобы объединить все конструкторы и поля по мере необходимости. Однако пользователи /не должны полагаться на определённую стратегию вложенности/ для :+: и :*:. Компилятор свободен выбирать любое вложение по своему усмотрению. (На практике текущая реализация пытается создать более-менее сбалансированное вложение, так что обход структуры типа данных от корня до определённого компонента может выполняться за логарифмическое, а не линейное время.)

Определение функций с типом данных

Функция с типом данных состоит из двух частей:

  1. Общетиповые реализации для функции, реализующей её для большинства конструкторов типов представления, представленных выше.
  2. Оборачивание, которое для любого типа данных, который находится в 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 немного неуклюж (но и редко используется):

instance Encode' V1 where
  encode' x = undefined

Нет значений типа 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)

Исключение универсальных экземпляров

Не всегда требуется предоставлять экземпляры для всех универсальных типов представления, но их отсутствие ограничивает набор типов данных, для которых будут работать функции:

  • Если экземпляр :+: не задан, функция всё ещё может работать для пустых типов данных или типов данных с одним конструктором, но потерпит неудачу для типов данных с более чем одним конструктором.
  • Если экземпляр :*: не задан, функция всё ещё может работать для типов данных, где каждый конструктор имеет только ноль или одно поле, в частности, для типов перечисления.
  • Если экземпляр 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 ), нигде явно не упоминается; и мы используем Rec1 для ссылки на рекурсивное использование Tree a.

Представление типов * -> *

В отличие от 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))

В настоящее время генерируются только шесть перечисленных выше неулучшенных типов, но в будущем это может быть расширено, чтобы охватить больше неулучшенных типов.

Общие типы представления

data V1 (p :: k) Источник

Пустота: используется для типов данных без конструкторов

Экземпляры
Подробности экземпляров
Generic1 (V1 :: k -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 V1 :: k -> Type Источник

Методы

from1 :: forall (a :: k0). V1 a -> Rep1 V1 a Источник

to1 :: forall (a :: k0). Rep1 V1 a -> V1 a Источник

Functor (V1 :: Type -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

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

Foldable (V1 :: Type -> Type)

С версии: base-4.9.0.0

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

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

null :: V1 a -> Bool Источник

length :: V1 a -> Int Источник

elem :: Eq a => a -> V1 a -> Bool Источник

maximum :: Ord a => V1 a -> a Источник

minimum :: Ord a => V1 a -> a Источник

sum :: Num a => V1 a -> a Источник

product :: Num a => V1 a -> a Источник

Traversable (V1 :: Type -> Type)

С версии: base-4.9.0.0

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

Определено в Data.Traversable

Методы

traverse :: Applicative f => (a -> f b) -> V1 a -> f (V1 b) Источник

sequenceA :: Applicative f => V1 (f a) -> f (V1 a) Источник

mapM :: Monad m => (a -> m b) -> V1 a -> m (V1 b) Источник

sequence :: Monad m => V1 (m a) -> m (V1 a) Источник

Contravariant (V1 :: Type -> Type)
Подробности экземпляра

Определено в Data.Functor.Contravariant

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

contramap :: (a -> b) -> V1 b -> V1 a Source

(>$) :: b -> V1 b -> V1 a Source

Eq (V1 p)

Since: base-4.9.0.0

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

Определено в GHC.Generics

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

(==) :: V1 p -> V1 p -> Bool Source

(/=) :: V1 p -> V1 p -> Bool Source

Data p => Data (V1 p)

Since: base-4.9.0.0

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

Определено в Data.Data

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

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

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

toConstr :: V1 p -> Constr Source

dataTypeOf :: V1 p -> DataType Source

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

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

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

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

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

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

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

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

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

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

Ord (V1 p)

Since: base-4.9.0.0

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

Определено в GHC.Generics

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

compare :: V1 p -> V1 p -> Ordering Source

(<) :: V1 p -> V1 p -> Bool Source

(<=) :: V1 p -> V1 p -> Bool Source

(>) :: V1 p -> V1 p -> Bool Source

(>=) :: V1 p -> V1 p -> Bool Source

max :: V1 p -> V1 p -> V1 p Source

min :: V1 p -> V1 p -> V1 p Source

Read (V1 p)

Since: base-4.9.0.0

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

Определено в GHC.Generics

Методы

readsPrec :: Целое -> ReadS (V1 p) Исходный код

readList :: ReadS [V1 p] Исходный код

readPrec :: ReadPrec (V1 p) Исходный код

readListPrec :: ReadPrec [V1 p] Исходный код

Show (V1 p)

Since: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

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

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

Generic (V1 p)

Since: base-4.9.0.0

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

Определено в GHC.Generics

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

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

Методы

from :: V1 p -> Rep (V1 p) x Исходный код

to :: Rep (V1 p) x -> V1 p Исходный код

Полугруппа (V1 p)

Since: base-4.12.0.0

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

Определено в GHC.Generics

Методы

(<>) :: V1 p -> V1 p -> V1 p Исходный код

sconcat :: Непустой список (V1 p) -> V1 p Исходный код

stimes :: Целочисленный b => b -> V1 p -> V1 p Исходный код

type Rep1 (V1 :: k -> Тип)
Подробности экземпляра

Определено в GHC.Generics

type Rep1 (V1 :: k -> Тип) = D1 ('MetaData "V1" "GHC.Generics" "base" 'False) (V1 :: k -> Тип)
type Rep (V1 p)
Подробности экземпляра

Определено в GHC.Generics

type Rep (V1 p) = D1 ('MetaData "V1" "GHC.Generics" "base" 'False) (V1 :: Тип -> Тип)

data U1 (p :: k) Исходный код

Единица: используется для конструкторов без аргументов

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

U1
Примеры
Подробности примеров
Generic1 (U1 :: k -> Тип)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

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

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

Методы

from1 :: forall (a :: k0). U1 a -> Rep1 U1 a Исходный код

to1 :: forall (a :: k0). Rep1 U1 a -> U1 a Исходный код

Monad (U1 :: Тип -> Тип)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

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

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

Functor (U1 :: Тип -> Тип)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

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

Applicative (U1 :: Тип -> Тип)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

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

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

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

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

Foldable (U1 :: Тип -> Тип)

С момента: base-4.9.0.0

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

Определено в Data.Foldable

Методы

fold :: Monoid m => U1 m -> m Исходный код

foldMap :: Monoid m => (a -> m) -> U1 a -> m Исходный код

foldMap' :: Monoid m => (a -> m) -> U1 a -> m Исходный код

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

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

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

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

foldr1 :: (a -> a -> a) -> U1 a -> a Исходный код

foldl1 :: (a -> a -> a) -> U1 a -> a Исходный код

toList :: U1 a -> [a] Исходный код

null :: U1 a -> Bool Исходный код

length :: U1 a -> Int Исходный код

elem :: Eq a => a -> U1 a -> Bool Исходный код

maximum :: Ord a => U1 a -> a Исходный код

minimum :: Ord a => U1 a -> a Исходный код

sum :: Num a => U1 a -> a Исходный код

product :: Num a => U1 a -> a Исходный код

Traversable (U1 :: Тип -> Тип)

С момента: base-4.9.0.0

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

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

MonadPlus (U1 :: Тип -> Тип)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

mzero :: U1 a Исходный код

mplus :: U1 a -> U1 a -> U1 a Исходный код

Alternative (U1 :: Тип -> Тип)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

empty :: U1 a Исходный код

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

some :: U1 a -> U1 [a] Исходный код

many :: U1 a -> U1 [a] Исходный код

MonadZip (U1 :: Тип -> Тип)

С момента: base-4.9.0.0

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

Определено в Control.Monad.Zip

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

mzip :: U1 a -> U1 b -> U1 (a, b) Source

mzipWith :: (a -> b -> c) -> U1 a -> U1 b -> U1 c Source

munzip :: U1 (a, b) -> (U1 a, U1 b) Source

Contravariant (U1 :: Type -> Type)
Подробности экземпляра

Определено в Data.Functor.Contravariant

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

contramap :: (a -> b) -> U1 b -> U1 a Source

(>$) :: b -> U1 b -> U1 a Source

Eq (U1 p)

Since: base-4.9.0.0

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

Определено в GHC.Generics

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

(==) :: U1 p -> U1 p -> Bool Source

(/=) :: U1 p -> U1 p -> Bool Source

Data p => Data (U1 p)

Since: base-4.9.0.0

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

Определено в Data.Data

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

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

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

toConstr :: U1 p -> Constr Source

dataTypeOf :: U1 p -> DataType Source

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

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

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

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

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

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

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

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

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

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

Ord (U1 p)

Since: base-4.7.0.0

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

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

Read (U1 p)

С момента: base-4.9.0.0

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

Определено в GHC.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.Generics

Методы

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

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

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

Generic (U1 p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

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

type Rep (U1 p) :: Type -> Type Исходный код

Методы

from :: U1 p -> Rep (U1 p) x Исходный код

to :: Rep (U1 p) x -> U1 p Исходный код

Semigroup (U1 p)

С момента: base-4.12.0.0

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

Определено в GHC.Generics

Методы

(<>) :: U1 p -> U1 p -> U1 p Исходный код

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

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

Monoid (U1 p)

С момента: base-4.12.0.0

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

Определено в GHC.Generics

Методы

mempty :: U1 p Исходный код

mappend :: U1 p -> U1 p -> U1 p Исходный код

mconcat :: [U1 p] -> U1 p Исходный код

type Rep1 (U1 :: k -> Type)
Подробности экземпляра

Определено в GHC.Generics

тип Rep1 (U1 :: k -> Тип) = D1 ('MetaData "U1" "GHC.Generics" "base" 'Ложь) (C1 ('MetaCons "U1" 'PrefixI 'Ложь) (U1 :: k -> Тип))
тип Rep (U1 p)
Подробности экземпляра

Определено в GHC.Generics

тип Rep (U1 p) = D1 ('MetaData "U1" "GHC.Generics" "base" 'Ложь) (C1 ('MetaCons "U1" 'PrefixI 'Ложь) (U1 :: Тип -> Тип))

новый тип Par1 p Источник

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

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

Par1

Поля

  • unPar1 :: p
Экземпляры
Подробности экземпляров
Монад Par1

С версии: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

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

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

Функтор Par1

С версии: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

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

MonadFix Par1

С версии: base-4.9.0.0

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

Определено в Control.Monad.Fix

Методы

mfix :: (a -> Par1 a) -> Par1 a Источник

Применительно Par1

С версии: base-4.9.0.0

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

Определено в GHC.Generics

Методы

pure :: a -> Par1 a Источник

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

liftA2 :: (a -> b -> c) -> Par1 a -> Par1 b -> Par1 c Источник

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

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

Foldable Par1

С версии: base-4.9.0.0

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

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

sum :: Num a => Par1 a -> a Исходный код

product :: Num a => Par1 a -> a Исходный код

Traversable Par1

С момента: base-4.9.0.0

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

Определено в Data.Traversable

Методы

traverse :: Applicative f => (a -> f b) -> Par1 a -> f (Par1 b) Исходный код

sequenceA :: Applicative f => Par1 (f a) -> f (Par1 a) Исходный код

mapM :: Monad m => (a -> m b) -> Par1 a -> m (Par1 b) Исходный код

sequence :: Monad m => Par1 (m a) -> m (Par1 a) Исходный код

MonadZip Par1

С момента: base-4.9.0.0

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

Определено в Control.Monad.Zip

Методы

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

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

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

Eq p => Eq (Par1 p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

Методы

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

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

Data p => Data (Par1 p)

С момента: base-4.9.0.0

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

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

Ord p => Ord (Par1 p)

С момента: base-4.7.0.0

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

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

Read p => Read (Par1 p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

Методы

readsPrec :: Int -> ReadS (Par1 p) Исходный код

readList :: ReadS [Par1 p] Исходный код

readPrec :: ReadPrec (Par1 p) Исходный код

readListPrec :: ReadPrec [Par1 p] Исходный код

Show p => Show (Par1 p)

Since: base-4.7.0.0

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

Определено в GHC.Generics

Методы

showsPrec :: Int -> Par1 p -> ShowS Source

show :: Par1 p -> String Source

showList :: [Par1 p] -> ShowS Source

Generic (Par1 p)

Since: base-4.7.0.0

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

Определено в GHC.Generics

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

type Rep (Par1 p) :: Type -> Type Source

Методы

from :: Par1 p -> Rep (Par1 p) x Source

to :: Rep (Par1 p) x -> Par1 p Source

Semigroup p => Semigroup (Par1 p)

Since: base-4.12.0.0

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

Определено в GHC.Generics

Методы

(<>) :: Par1 p -> Par1 p -> Par1 p Source

sconcat :: NonEmpty (Par1 p) -> Par1 p Source

stimes :: Integral b => b -> Par1 p -> Par1 p Source

Monoid p => Monoid (Par1 p)

Since: base-4.12.0.0

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

Определено в GHC.Generics

Методы

mempty :: Par1 p Source

mappend :: Par1 p -> Par1 p -> Par1 p Source

mconcat :: [Par1 p] -> Par1 p Source

Generic1 Par1

Since: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 Par1 :: k -> Type Source

Методы

from1 :: forall (a :: k). Par1 a -> Rep1 Par1 a Source

to1 :: forall (a :: k). Rep1 Par1 a -> Par1 a Source

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

Определено в GHC.Generics

type Rep (Par1 p) = D1 ('MetaData "Par1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "Par1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPar1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 p)))
type Rep1 Par1
Подробности экземпляра

Определено в GHC.Generics

type Rep1 Par1 = D1 ('MetaData "Par1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "Par1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPar1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

newtype Rec1 (f :: k -> Type) (p :: k) Source

Рекурсивные вызовы типа * -> * (или типа k -> *, когда PolyKinds включен)

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

Rec1

Поля

  • unRec1 :: f p
Экземпляры
Подробности о экземплярах
Generic1 (Rec1 f :: k -> Type)

Since: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (Rec1 f) :: k -> Type Source

Методы

from1 :: forall (a :: k0). Rec1 f a -> Rep1 (Rec1 f) a Source

to1 :: forall (a :: k0). Rep1 (Rec1 f) a -> Rec1 f a Source

Monad f => Monad (Rec1 f)

Since: base-4.9.0.0

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

Определено в GHC.Generics

Методы

(>>=) :: Rec1 f a -> (a -> Rec1 f b) -> Rec1 f b Source

(>>) :: Rec1 f a -> Rec1 f b -> Rec1 f b Source

return :: a -> Rec1 f a Source

Functor f => Functor (Rec1 f)

Since: base-4.9.0.0

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

Определено в GHC.Generics

Методы

fmap :: (a -> b) -> Rec1 f a -> Rec1 f b Source

(<$) :: a -> Rec1 f b -> Rec1 f a Source

MonadFix f => MonadFix (Rec1 f)

Since: base-4.9.0.0

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

Определено в Control.Monad.Fix

Методы

mfix :: (a -> Rec1 f a) -> Rec1 f a Source

Applicative f => Applicative (Rec1 f)

Since: base-4.9.0.0

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

Определено в GHC.Generics

Методы

pure :: a -> Rec1 f a Source

(<*>) :: Rec1 f (a -> b) -> Rec1 f a -> Rec1 f b Source

liftA2 :: (a -> b -> c) -> Rec1 f a -> Rec1 f b -> Rec1 f c Source

(*>) :: Rec1 f a -> Rec1 f b -> Rec1 f b Source

(<*) :: Rec1 f a -> Rec1 f b -> Rec1 f a Source

Foldable f => Foldable (Rec1 f)

Since: base-4.9.0.0

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

Определено в Data.Foldable

Методы

fold :: Моноид m => Rec1 f m -> m Исходный код

foldMap :: Моноид m => (a -> m) -> Rec1 f a -> m Исходный код

foldMap' :: Моноид 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 -> Булево Исходный код

length :: Rec1 f a -> Целое Исходный код

elem :: Eq a => a -> Rec1 f a -> Булево Исходный код

maximum :: Ord a => Rec1 f a -> a Исходный код

minimum :: Ord a => Rec1 f a -> a Исходный код

sum :: Число a => Rec1 f a -> a Исходный код

product :: Число a => Rec1 f a -> a Исходный код

Переходимый f => Переходимый (Rec1 f)

С тех пор: base-4.9.0.0

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

Определено в Data.Traversable

Методы

traverse :: Применимый f0 => (a -> f0 b) -> Rec1 f a -> f0 (Rec1 f b) Исходный код

sequenceA :: Применимый f0 => Rec1 f (f0 a) -> f0 (Rec1 f a) Исходный код

mapM :: Моноид m => (a -> m b) -> Rec1 f a -> m (Rec1 f b) Исходный код

sequence :: Моноид m => Rec1 f (m a) -> m (Rec1 f a) Исходный код

Моноид с нулём f => Моноид с нулём (Rec1 f)

С тех пор: base-4.9.0.0

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

Определено в GHC.Generics

Методы

mzero :: Rec1 f a Исходный код

mplus :: Rec1 f a -> Rec1 f a -> Rec1 f a Исходный код

Альтернатива f => Альтернатива (Rec1 f)

С тех пор: base-4.9.0.0

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

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

MonadZip f => MonadZip (Rec1 f)

С тех пор: base-4.9.0.0

Информация о экземпляре

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

Contravariant f => Contravariant (Rec1 f)
Информация о экземпляре

Определено в Data.Functor.Contravariant

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

contramap :: (a -> b) -> Rec1 f b -> Rec1 f a Источник

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

Eq (f p) => Eq (Rec1 f p)

С версии: base-4.7.0.0

Информация о экземпляре

Определено в GHC.Generics

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

(==) :: Rec1 f p -> Rec1 f p -> Bool Источник

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

(Data (f p), Typeable f, Data p) => Data (Rec1 f p)

С версии: base-4.9.0.0

Информация о экземпляре

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

Ord (f p) => Ord (Rec1 f p)

С версии: base-4.7.0.0

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

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

Read (f p) => Read (Rec1 f p)

С версии: base-4.7.0.0

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

Определено в GHC.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)

С версии: base-4.7.0.0

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

Определено в GHC.Generics

Методы

showsPrec :: Int -> Rec1 f p -> ShowS Исходный код

show :: Rec1 f p -> String Исходный код

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

Generic (Rec1 f p)

С версии: base-4.7.0.0

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

Определено в GHC.Generics

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

type Rep (Rec1 f p) :: Type -> Type Исходный код

Методы

from :: Rec1 f p -> Rep (Rec1 f p) x Исходный код

to :: Rep (Rec1 f p) x -> Rec1 f p Исходный код

Semigroup (f p) => Semigroup (Rec1 f p)

С версии: base-4.12.0.0

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

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

Monoid (f p) => Monoid (Rec1 f p)

С версии: base-4.12.0.0

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

Определено в GHC.Generics

Методы

mempty :: Rec1 f p Исходный код

mappend :: Rec1 f p -> Rec1 f p -> Rec1 f p Исходный код

mconcat :: [Rec1 f p] -> Rec1 f p Исходный код

type Rep1 (Rec1 f :: k -> Type)
Подробности экземпляра

Определено в GHC.Generics

type Rep1 (Rec1 f :: k -> Type) = D1 ('MetaData "Rec1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "Rec1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRec1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))
type Rep (Rec1 f p)
Подробности экземпляра

Определено в GHC.Generics

type Rep (Rec1 f p) = D1 ('MetaData "Rec1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "Rec1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRec1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f p))))

newtype K1 (i :: Type) c (p :: k) Источник

Константы, дополнительные параметры и рекурсия типа *

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

K1

Поля

  • unK1 :: c
Экземпляры
Подробности о экземплярах
Generic1 (K1 i c :: k -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (K1 i c) :: k -> Type Источник

Методы

from1 :: forall (a :: k0). K1 i c a -> Rep1 (K1 i c) a Источник

to1 :: forall (a :: k0). Rep1 (K1 i c) a -> K1 i c a Источник

Bifunctor (K1 i :: Type -> Type -> Type)

С версии: base-4.9.0.0

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

Определено в Data.Bifunctor

Методы

bimap :: (a -> b) -> (c -> d) -> K1 i a c -> K1 i b d Источник

first :: (a -> b) -> K1 i a c -> K1 i b c Источник

second :: (b -> c) -> K1 i a b -> K1 i a c Источник

Bifoldable (K1 i :: Type -> Type -> Type)

С версии: base-4.10.0.0

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

Определено в Data.Bifoldable

Методы

bifold :: Monoid m => K1 i m m -> m Источник

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> K1 i a b -> m Источник

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> K1 i a b -> c Источник

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> K1 i a b -> c Источник

Bitraversable (K1 i :: Type -> Type -> Type)

С версии: 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) Источник

Functor (K1 i c :: Type -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

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

Monoid c => Applicative (K1 i c :: Type -> Type)

С версии: base-4.12.0.0

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

Определено в GHC.Generics

Методы

pure :: a -> K1 i c a Источник

(<*>) :: K1 i c (a -> b) -> K1 i c a -> K1 i c b Источник

liftA2 :: (a -> b -> c0) -> K1 i c a -> K1 i c b -> K1 i c c0 Источник

(*>) :: K1 i c a -> K1 i c b -> K1 i c b Источник

(<*) :: K1 i c a -> K1 i c b -> K1 i c a Источник

Foldable (K1 i c :: Type -> Type)

С версии: base-4.9.0.0

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

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

sum :: Num a => K1 i c a -> a Исходный код

product :: Num a => K1 i c a -> a Исходный код

Traversable (K1 i c :: Тип -> Тип)

С момента: base-4.9.0.0

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

Определено в Data.Traversable

Методы

traverse :: Applicative f => (a -> f b) -> K1 i c a -> f (K1 i c b) Исходный код

sequenceA :: Applicative f => K1 i c (f a) -> f (K1 i c a) Исходный код

mapM :: Monad m => (a -> m b) -> K1 i c a -> m (K1 i c b) Исходный код

sequence :: Monad m => K1 i c (m a) -> m (K1 i c a) Исходный код

Contravariant (K1 i c :: Тип -> Тип)
Подробности экземпляра

Определено в Data.Functor.Contravariant

Методы

contramap :: (a -> b) -> K1 i c b -> K1 i c a Исходный код

(>$) :: b -> K1 i c b -> K1 i c a Исходный код

Eq c => Eq (K1 i c p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

Методы

(==) :: K1 i c p -> K1 i c p -> Bool Исходный код

(/=) :: K1 i c p -> K1 i c p -> Bool Исходный код

(Typeable i, Data p, Data c) => Data (K1 i c p)

С момента: base-4.9.0.0

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

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

Ord c => Ord (K1 i c p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

Методы

compare :: K1 i c p -> K1 i c p -> Ordering Исходный код

(<) :: K1 i c p -> K1 i c p -> Bool Исходный код

(<=) :: K1 i c p -> K1 i c p -> Bool Исходный код

(>) :: K1 i c p -> K1 i c p -> Bool Исходный код

(>=) :: K1 i c p -> K1 i c p -> Bool Исходный код

max :: K1 i c p -> K1 i c p -> K1 i c p Исходный код

min :: K1 i c p -> K1 i c p -> K1 i c p Исходный код

Read c => Read (K1 i c p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

Методы

readsPrec :: Int -> ReadS (K1 i c p) Исходный код

readList :: ReadS [K1 i c p] Исходный код

readPrec :: ReadPrec (K1 i c p) Исходный код

readListPrec :: ReadPrec [K1 i c p] Исходный код

Show c => Show (K1 i c p)

Since: base-4.7.0.0

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

Определено в GHC.Generics

Методы

showsPrec :: Int -> K1 i c p -> ShowS Исходный код

show :: K1 i c p -> String Исходный код

showList :: [K1 i c p] -> ShowS Исходный код

Generic (K1 i c p)

Since: base-4.7.0.0

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

Определено в GHC.Generics

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

type Rep (K1 i c p) :: Type -> Type Исходный код

Методы

from :: K1 i c p -> Rep (K1 i c p) x Исходный код

to :: Rep (K1 i c p) x -> K1 i c p Исходный код

Semigroup c => Semigroup (K1 i c p)

Since: base-4.12.0.0

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

Определено в GHC.Generics

Методы

(<>) :: K1 i c p -> K1 i c p -> K1 i c p Исходный код

sconcat :: NonEmpty (K1 i c p) -> K1 i c p Исходный код

stimes :: Integral b => b -> K1 i c p -> K1 i c p Исходный код

Monoid c => Monoid (K1 i c p)

Since: base-4.12.0.0

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

Определено в GHC.Generics

Методы

mempty :: K1 i c p Исходный код

mappend :: K1 i c p -> K1 i c p -> K1 i c p Исходный код

mconcat :: [K1 i c p] -> K1 i c p Исходный код

type Rep1 (K1 i c :: k -> Type)
Подробные сведения об экземпляре

Определено в GHC.Generics

type Rep1 (K1 i c :: k -> Type) = D1 ('MetaData "K1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "K1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unK1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c)))
type Rep (K1 i c p)
Подробные сведения об экземпляре

Определено в GHC.Generics

type Rep (K1 i c p) = D1 ('MetaData "K1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "K1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unK1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c)))

newtype M1 (i :: Type) (c :: Meta) (f :: k -> Type) (p :: k) Исходный код

Метаинформация (имена конструкторов и т. д.)

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

M1

Поля

  • unM1 :: f p
Примеры использования
Подробности примеров использования
Generic1 (M1 i c f :: k -> Тип)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (M1 i c f) :: k -> Тип Исходный код

Методы

from1 :: forall (a :: k0). M1 i c f a -> Rep1 (M1 i c f) a Исходный код

to1 :: forall (a :: k0). Rep1 (M1 i c f) a -> M1 i c f a Исходный код

Моноид f => Моноид (M1 i c f)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

(>>=) :: M1 i c f a -> (a -> M1 i c f b) -> M1 i c f b Исходный код

(>>) :: M1 i c f a -> M1 i c f b -> M1 i c f b Исходный код

return :: a -> M1 i c f a Исходный код

Функтор f => Функтор (M1 i c f)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

fmap :: (a -> b) -> M1 i c f a -> M1 i c f b Исходный код

(<$) :: a -> M1 i c f b -> M1 i c f a Исходный код

МоноидФикс f => МоноидФикс (M1 i c f)

С момента: base-4.9.0.0

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

Определено в Control.Monad.Fix

Методы

mfix :: (a -> M1 i c f a) -> M1 i c f a Исходный код

Применимый f => Применимый (M1 i c f)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

pure :: a -> M1 i c f a Исходный код

(<*>) :: M1 i c f (a -> b) -> M1 i c f a -> M1 i c f b Исходный код

liftA2 :: (a -> b -> c0) -> M1 i c f a -> M1 i c f b -> M1 i c f c0 Исходный код

(*>) :: M1 i c f a -> M1 i c f b -> M1 i c f b Исходный код

(<*) :: M1 i c f a -> M1 i c f b -> M1 i c f a Исходный код

Сворачиваемый f => Сворачиваемый (M1 i c f)

С момента: base-4.9.0.0

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

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

sum :: Num a => M1 i c f a -> a Источник

product :: Num a => M1 i c f a -> a Источник

Traversable f => Traversable (M1 i c f)

С момента: base-4.9.0.0

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

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

MonadPlus f => MonadPlus (M1 i c f)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

mzero :: M1 i c f a Источник

mplus :: M1 i c f a -> M1 i c f a -> M1 i c f a Источник

Alternative f => Alternative (M1 i c f)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

empty :: M1 i c f a Источник

(<|>) :: M1 i c f a -> M1 i c f a -> M1 i c f a Источник

some :: M1 i c f a -> M1 i c f [a] Источник

many :: M1 i c f a -> M1 i c f [a] Источник

MonadZip f => MonadZip (M1 i c f)

С момента: base-4.9.0.0

Instance details

Defined in Control.Monad.Zip

Методы

mzip :: M1 i c f a -> M1 i c f b -> M1 i c f (a, b) Source

mzipWith :: (a -> b -> c0) -> M1 i c f a -> M1 i c f b -> M1 i c f c0 Source

munzip :: M1 i c f (a, b) -> (M1 i c f a, M1 i c f b) Source

Contravariant f => Contravariant (M1 i c f)
Instance details

Defined in Data.Functor.Contravariant

Методы

contramap :: (a -> b) -> M1 i c f b -> M1 i c f a Source

(>$) :: b -> M1 i c f b -> M1 i c f a Source

Eq (f p) => Eq (M1 i c f p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Методы

(==) :: M1 i c f p -> M1 i c f p -> Bool Source

(/=) :: M1 i c f p -> M1 i c f p -> Bool Source

(Data p, Data (f p), Typeable c, Typeable i, Typeable f) => Data (M1 i c f p)

Since: base-4.9.0.0

Instance details

Defined in 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) Source

gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (M1 i c f p) Source

toConstr :: M1 i c f p -> Constr Source

dataTypeOf :: M1 i c f p -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (M1 i c f p)) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (M1 i c f p)) Source

gmapT :: (forall b. Data b => b -> b) -> M1 i c f p -> M1 i c f p Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> M1 i c f p -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> M1 i c f p -> r Source

gmapQ :: (forall d. Data d => d -> u) -> M1 i c f p -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> M1 i c f p -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) Source

Ord (f p) => Ord (M1 i c f p)

Since: base-4.7.0.0

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

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

max :: M1 i c f p -> M1 i c f p -> M1 i c f p Исходный код

min :: M1 i c f p -> M1 i c f p -> M1 i c f p Исходный код

Read (f p) => Read (M1 i c f p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

Методы

readsPrec :: Int -> ReadS (M1 i c f p) Исходный код

readList :: ReadS [M1 i c f p] Исходный код

readPrec :: ReadPrec (M1 i c f p) Исходный код

readListPrec :: ReadPrec [M1 i c f p] Исходный код

Show (f p) => Show (M1 i c f p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

Методы

showsPrec :: Int -> M1 i c f p -> ShowS Исходный код

show :: M1 i c f p -> String Исходный код

showList :: [M1 i c f p] -> ShowS Исходный код

Generic (M1 i c f p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

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

type Rep (M1 i c f p) :: Type -> Type Исходный код

Методы

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 Исходный код

Semigroup (f p) => Semigroup (M1 i c f p)

С момента: base-4.12.0.0

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

Определено в GHC.Generics

Методы

(<>) :: M1 i c f p -> M1 i c f p -> M1 i c f p Исходный код

sconcat :: NonEmpty (M1 i c f p) -> M1 i c f p Исходный код

stimes :: Integral b => b -> M1 i c f p -> M1 i c f p Исходный код

Monoid (f p) => Monoid (M1 i c f p)

С момента: base-4.12.0.0

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

Определено в GHC.Generics

Методы

mempty :: M1 i c f p Исходный код

mappend :: M1 i c f p -> M1 i c f p -> M1 i c f p Исходный код

mconcat :: [M1 i c f p] -> M1 i c f p Исходный код

type Rep1 (M1 i c f :: k -> Type)
Подробности экземпляра

Определено в GHC.Generics

type Rep1 (M1 i c f :: k -> Type) = D1 ('MetaData "M1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "M1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unM1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))
type Rep (M1 i c f p)
Подробности экземпляра

Определено в GHC.Generics

type Rep (M1 i c f p) = D1 ('MetaData "M1" "GHC.Generics" "base" 'True) (C1 ('MetaCons "M1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unM1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f p))))

data ((f :: k -> Type) :+: (g :: k -> Type)) (p :: k) infixr 5 Source

Суммы: кодирование выбора между конструкторами

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

L1 (f p)
R1 (g p)
Экземпляры
Подробности о экземплярах
Generic1 (f :+: g :: k -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (f :+: g) :: k -> Type Источник

Методы

from1 :: forall (a :: k0). (f :+: g) a -> Rep1 (f :+: g) a Источник

to1 :: forall (a :: k0). Rep1 (f :+: g) a -> (f :+: g) a Источник

(Functor f, Functor g) => Functor (f :+: g)

С версии: base-4.9.0.0

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

Определено в GHC.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

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

Определено в 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

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

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

(Contravariant f, Contravariant g) => Contravariant (f :+: g)
Подробности экземпляра

Определено в Data.Functor.Contravariant

Методы

contramap :: (a -> b) -> (f :+: g) b -> (f :+: g) a Исходный код

(>$) :: b -> (f :+: g) b -> (f :+: g) a Исходный код

(Eq (f p), Eq (g p)) => Eq ((f :+: g) p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

Методы

(==) :: (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

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

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

(Ord (f p), Ord (g p)) => Ord ((f :+: g) p)

С версии: base-4.7.0.0

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

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

max :: (f :+: g) p -> (f :+: g) p -> (f :+: g) p Исходный код

min :: (f :+: g) p -> (f :+: g) p -> (f :+: g) p Исходный код

(Read (f p), Read (g p)) => Read ((f :+: g) p)

С версии: base-4.7.0.0

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

Определено в GHC.Generics

Методы

readsPrec :: Int -> ReadS ((f :+: g) p) Исходный код

readList :: ReadS [(f :+: g) p] Исходный код

readPrec :: ReadPrec ((f :+: g) p) Исходный код

readListPrec :: ReadPrec [(f :+: g) p] Исходный код

(Show (f p), Show (g p)) => Show ((f :+: g) p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

Методы

showsPrec :: Int -> (f :+: g) p -> ShowS Исходный код

show :: (f :+: g) p -> String Исходный код

showList :: [(f :+: g) p] -> ShowS Исходный код

Generic ((f :+: g) p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

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

type Rep ((f :+: g) p) :: Тип -> Тип Исходный код

Методы

from :: (f :+: g) p -> Rep ((f :+: g) p) x Исходный код

to :: Rep ((f :+: g) p) x -> (f :+: g) p Исходный код

type Rep1 (f :+: g :: k -> Тип)
Подробности экземпляра

Определено в GHC.Generics

type Rep1 (f :+: g :: k -> Тип) = D1 ('MetaData ":+:" "GHC.Generics" "base" 'False) (C1 ('MetaCons "L1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)) :+: C1 ('MetaCons "R1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 g)))
type Rep ((f :+: g) p)
Подробности экземпляра

Определено в GHC.Generics

type Rep ((f :+: g) p) = D1 ('MetaData ":+:" "GHC.Generics" "base" 'False) (C1 ('MetaCons "L1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f p))) :+: C1 ('MetaCons "R1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (g p))))

data ((f :: k -> Тип) :*: (g :: k -> Тип)) (p :: k) infixr 6 Исходный код

Продукты: кодирование нескольких аргументов конструкторов

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

(f p) :*: (g p) infixr 6
Примеры
Подробности примеров
Generic1 (f :*: g :: k -> Тип)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (f :*: g) :: k -> Тип Исходный код

Методы

from1 :: forall (a :: k0). (f :*: g) a -> Rep1 (f :*: g) a Исходный код

to1 :: forall (a :: k0). Rep1 (f :*: g) a -> (f :*: g) a Исходный код

(Монадa f, Монадa g) => Монадa (f :*: g)

С версии: base-4.9.0.0

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

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

(Функтор f, Функтор g) => Функтор (f :*: g)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

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

(МонадФикс f, МонадФикс g) => МонадФикс (f :*: g)

С версии: base-4.9.0.0

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

Определено в Control.Monad.Fix

Методы

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

(Прикладной f, Прикладной g) => Прикладной (f :*: g)

С версии: base-4.9.0.0

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

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

(Складываемый f, Складываемый g) => Складываемый (f :*: g)

С версии: base-4.9.0.0

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

Определено в 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

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

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

(MonadPlus f, MonadPlus g) => MonadPlus (f :*: g)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

mzero :: (f :*: g) a Исходный код

mplus :: (f :*: g) a -> (f :*: g) a -> (f :*: g) a Исходный код

(Alternative f, Alternative g) => Alternative (f :*: g)

С момента: base-4.9.0.0

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

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

(МонадныйЗип f, МонадныйЗип g) => МонадныйЗип (f :*: g)

С момента: base-4.9.0.0

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

Определено в Control.Monad.Zip

Методы

mzip :: (f :*: g) a -> (f :*: g) b -> (f :*: g) (a, b) Исходный код

mzipWith :: (a -> b -> c) -> (f :*: g) a -> (f :*: g) b -> (f :*: g) c Исходный код

munzip :: (f :*: g) (a, b) -> ((f :*: g) a, (f :*: g) b) Исходный код

(Противовариант f, Противовариант g) => Противовариант (f :*: g)
Подробности экземпляра

Определено в Data.Functor.Contravariant

Методы

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

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

(Равно (f p), Равно (g p)) => Равно ((f :*: g) p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

Методы

(==) :: (f :*: g) p -> (f :*: g) p -> Булево Исходный код

(/=) :: (f :*: g) p -> (f :*: g) p -> Булево Исходный код

(Типируемый f, Типируемый g, Данные p, Данные (f p), Данные (g p)) => Данные ((f :*: g) p)

С момента: base-4.9.0.0

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

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

(Ord (f p), Ord (g p)) => Ord ((f :*: g) p)

С версии: base-4.7.0.0

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

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

max :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p Исходный код

min :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p Исходный код

(Read (f p), Read (g p)) => Read ((f :*: g) p)

С версии: base-4.7.0.0

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

Определено в GHC.Generics

Методы

readsPrec :: Int -> ReadS ((f :*: g) p) Исходный код

readList :: ReadS [(f :*: g) p] Исходный код

readPrec :: ReadPrec ((f :*: g) p) Исходный код

readListPrec :: ReadPrec [(f :*: g) p] Исходный код

(Show (f p), Show (g p)) => Show ((f :*: g) p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

Методы

showsPrec :: Int -> (f :*: g) p -> ShowS Исходный код

show :: (f :*: g) p -> String Исходный код

showList :: [(f :*: g) p] -> ShowS Исходный код

Generic ((f :*: g) p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

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

type Rep ((f :*: g) p) :: Type -> Type Исходный код

Методы

from :: (f :*: g) p -> Rep ((f :*: g) p) x Исходный код

to :: Rep ((f :*: g) p) x -> (f :*: g) p Исходный код

(Semigroup (f p), Semigroup (g p)) => Semigroup ((f :*: g) p)

С момента: base-4.12.0.0

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

Определено в GHC.Generics

Методы

(<>) :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p Исходный код

sconcat :: NonEmpty ((f :*: g) p) -> (f :*: g) p Исходный код

stimes :: Integral b => b -> (f :*: g) p -> (f :*: g) p Исходный код

(Monoid (f p), Monoid (g p)) => Monoid ((f :*: g) p)

С момента: base-4.12.0.0

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

Определено в GHC.Generics

Методы

mempty :: (f :*: g) p Исходный код

mappend :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p Исходный код

mconcat :: [(f :*: g) p] -> (f :*: g) p Исходный код

type Rep1 (f :*: g :: k -> Type)
Подробности экземпляра

Определено в GHC.Generics

type Rep1 (f :*: g :: k -> Type) = D1 ('MetaData ":*:" "GHC.Generics" "base" 'False) (C1 ('MetaCons ":*:" ('InfixI 'RightAssociative 6) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 g)))
type Rep ((f :*: g) p)
Подробности экземпляра

Определено в GHC.Generics

тип Rep ((f :*: g) p) = D1 ('MetaData ":*:" "GHC.Generics" "base" 'False) (C1 ('MetaCons ":*:" ('InfixI 'RightAssociative 6) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f p)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (g p))))

newtype ((f :: k2 -> Тип) :.: (g :: k1 -> k2)) (p :: k1) infixr 7 Источник

Состав функций

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

Comp1

Поля

  • unComp1 :: f (g p)
Экземпляры
Подробности экземпляров
Functor f => Generic1 (f :.: g :: k -> Тип)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

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

тип Rep1 (f :.: g) :: k -> Тип Источник

Методы

from1 :: forall (a :: k0). (f :.: g) a -> Rep1 (f :.: g) a Источник

to1 :: forall (a :: k0). Rep1 (f :.: g) a -> (f :.: g) a Источник

(Functor f, Functor g) => Functor (f :.: g)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

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

(Applicative f, Applicative g) => Applicative (f :.: g)

С момента: base-4.9.0.0

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

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

(Foldable f, Foldable g) => Foldable (f :.: g)

С момента: base-4.9.0.0

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

Определено в 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

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

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

(Alternative f, Applicative g) => Alternative (f :.: g)

С момента: base-4.9.0.0

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

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

(Functor f, Contravariant g) => Contravariant (f :.: g)
Сведения об экземпляре

Определено в Data.Functor.Contravariant

Методы

contramap :: (a -> b) -> (f :.: g) b -> (f :.: g) a Источник

(>$) :: b -> (f :.: g) b -> (f :.: g) a Источник

Eq (f (g p)) => Eq ((f :.: g) p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Методы

(==) :: (f :.: g) p -> (f :.: g) p -> Bool Source

(/=) :: (f :.: g) p -> (f :.: g) p -> Bool Source

(Typeable f, Typeable g, Data p, Data (f (g p))) => Data ((f :.: g) p)

Since: base-4.9.0.0

Instance details

Defined in 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) Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ((f :.: g) p) Source

toConstr :: (f :.: g) p -> Constr Source

dataTypeOf :: (f :.: g) p -> DataType Source

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

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

gmapT :: (forall b. Data b => b -> b) -> (f :.: g) p -> (f :.: g) p Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (f :.: g) p -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (f :.: g) p -> r Source

gmapQ :: (forall d. Data d => d -> u) -> (f :.: g) p -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> (f :.: g) p -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> (f :.: g) p -> m ((f :.: g) p) Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :.: g) p -> m ((f :.: g) p) Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :.: g) p -> m ((f :.: g) p) Source

Ord (f (g p)) => Ord ((f :.: g) p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

Методы

compare :: (f :.: g) p -> (f :.: g) p -> Ordering Source

(<) :: (f :.: g) p -> (f :.: g) p -> Bool Source

(<=) :: (f :.: g) p -> (f :.: g) p -> Bool Source

(>) :: (f :.: g) p -> (f :.: g) p -> Bool Source

(>=) :: (f :.: g) p -> (f :.: g) p -> Bool Source

max :: (f :.: g) p -> (f :.: g) p -> (f :.: g) p Source

min :: (f :.: g) p -> (f :.: g) p -> (f :.: g) p Source

Read (f (g p)) => Read ((f :.: g) p)

Since: base-4.7.0.0

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

Определено в GHC.Generics

Методы

readsPrec :: Целое -> ReadS ((f :.: g) p) Исходный код

readList :: ReadS [(f :.: g) p] Исходный код

readPrec :: ReadPrec ((f :.: g) p) Исходный код

readListPrec :: ReadPrec [(f :.: g) p] Исходный код

Show (f (g p)) => Show ((f :.: g) p)

Since: base-4.7.0.0

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

Определено в GHC.Generics

Методы

showsPrec :: Целое -> (f :.: g) p -> ShowS Исходный код

show :: (f :.: g) p -> Строка Исходный код

showList :: [(f :.: g) p] -> ShowS Исходный код

Generic ((f :.: g) p)

Since: base-4.7.0.0

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

Определено в GHC.Generics

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

type Rep ((f :.: g) p) :: Тип -> Тип Исходный код

Методы

from :: (f :.: g) p -> Rep ((f :.: g) p) x Исходный код

to :: Rep ((f :.: g) p) x -> (f :.: g) p Исходный код

Полугруппа (f (g p)) => Полугруппа ((f :.: g) p)

Since: base-4.12.0.0

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

Определено в GHC.Generics

Методы

(<>) :: (f :.: g) p -> (f :.: g) p -> (f :.: g) p Исходный код

sconcat :: Непустой список ((f :.: g) p) -> (f :.: g) p Исходный код

stimes :: Целочисленное b => b -> (f :.: g) p -> (f :.: g) p Исходный код

Моноид (f (g p)) => Моноид ((f :.: g) p)

Since: base-4.12.0.0

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

Определено в GHC.Generics

Методы

mempty :: (f :.: g) p Исходный код

mappend :: (f :.: g) p -> (f :.: g) p -> (f :.: g) p Исходный код

mconcat :: [(f :.: g) p] -> (f :.: g) p Исходный код

type Rep1 (f :.: g :: k -> Тип)
Детали экземпляра

Определено в GHC.Generics

type Rep1 (f :.: g :: k -> Тип) = D1 ('MetaData ":.:" "GHC.Generics" "base" 'True) (C1 ('MetaCons "Comp1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unComp1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (f :.: Rec1 g)))
type Rep ((f :.: g) p)
Сведения об экземпляре

Определено в GHC.Generics

type Rep ((f :.: g) p) = D1 ('MetaData ":.:" "GHC.Generics" "base" 'True) (C1 ('MetaCons "Comp1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unComp1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f (g p)))))

Типы представлений без упаковки

data family URec (a :: Type) (p :: k) Source

Константы неулучшенных типов

С момента: base-4.9.0.0

Экземпляры
Подробности о экземплярах
Generic1 (URec Word :: k -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (URec Word) :: k -> Type Источник

Методы

from1 :: forall (a :: k0). URec Word a -> Rep1 (URec Word) a Источник

to1 :: forall (a :: k0). Rep1 (URec Word) a -> URec Word a Источник

Generic1 (URec Int :: k -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (URec Int) :: k -> Type Источник

Методы

from1 :: forall (a :: k0). URec Int a -> Rep1 (URec Int) a Источник

to1 :: forall (a :: k0). Rep1 (URec Int) a -> URec Int a Источник

Generic1 (URec Float :: k -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (URec Float) :: k -> Type Источник

Методы

from1 :: forall (a :: k0). URec Float a -> Rep1 (URec Float) a Источник

to1 :: forall (a :: k0). Rep1 (URec Float) a -> URec Float a Источник

Generic1 (URec Double :: k -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (URec Double) :: k -> Type Источник

Методы

from1 :: forall (a :: k0). URec Double a -> Rep1 (URec Double) a Источник

to1 :: forall (a :: k0). Rep1 (URec Double) a -> URec Double a Источник

Generic1 (URec Char :: k -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (URec Char) :: k -> Type Источник

Методы

from1 :: forall (a :: k0). URec Char a -> Rep1 (URec Char) a Источник

to1 :: forall (a :: k0). Rep1 (URec Char) a -> URec Char a Источник

Generic1 (URec (Ptr ()) :: k -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (URec (Ptr ())) :: k -> Тип Исходный код

Методы

from1 :: forall (a :: k0). URec (Ptr ()) a -> Rep1 (URec (Ptr ())) a Исходный код

to1 :: forall (a :: k0). Rep1 (URec (Ptr ())) a -> URec (Ptr ()) a Исходный код

Foldable (UAddr :: Тип -> Тип)

С версии: base-4.9.0.0

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

Определено в Data.Foldable

Методы

fold :: Моноид m => UAddr m -> m Исходный код

foldMap :: Моноид m => (a -> m) -> UAddr a -> m Исходный код

foldMap' :: Моноид 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 -> Булево Исходный код

length :: UAddr a -> Целое Исходный код

elem :: Eq a => a -> UAddr a -> Булево Исходный код

maximum :: Ord a => UAddr a -> a Исходный код

minimum :: Ord a => UAddr a -> a Исходный код

sum :: Число a => UAddr a -> a Исходный код

product :: Число a => UAddr a -> a Исходный код

Foldable (UChar :: Тип -> Тип)

С версии: base-4.9.0.0

Информация о экземпляре

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

sum :: Num a => UChar a -> a Исходный код

product :: Num a => UChar a -> a Исходный код

Foldable (UDouble :: Type -> Type)

С версии: base-4.9.0.0

Информация о экземпляре

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

sum :: Num a => UDouble a -> a Исходный код

product :: Num a => UDouble a -> a Исходный код

Foldable (UFloat :: Тип -> Тип)

С момента: base-4.9.0.0

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

Определено в Data.Foldable

Методы

fold :: Моноид m => UFloat m -> m Исходный код

foldMap :: Моноид m => (a -> m) -> UFloat a -> m Исходный код

foldMap' :: Моноид 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 -> Булево Исходный код

length :: UFloat a -> Целое Исходный код

elem :: Eq a => a -> UFloat a -> Булево Исходный код

maximum :: Ord a => UFloat a -> a Исходный код

minimum :: Ord a => UFloat a -> a Исходный код

sum :: Число a => UFloat a -> a Исходный код

product :: Число a => UFloat a -> a Исходный код

Foldable (UInt :: Тип -> Тип)

С момента: base-4.9.0.0

Информация о экземпляре

Определено в Data.Foldable

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

fold :: Monoid m => UInt m -> m Source

foldMap :: Monoid m => (a -> m) -> UInt a -> m Source

foldMap' :: Monoid m => (a -> m) -> UInt a -> m Source

foldr :: (a -> b -> b) -> b -> UInt a -> b Source

foldr' :: (a -> b -> b) -> b -> UInt a -> b Source

foldl :: (b -> a -> b) -> b -> UInt a -> b Source

foldl' :: (b -> a -> b) -> b -> UInt a -> b Source

foldr1 :: (a -> a -> a) -> UInt a -> a Source

foldl1 :: (a -> a -> a) -> UInt a -> a Source

toList :: UInt a -> [a] Source

null :: UInt a -> Bool Source

length :: UInt a -> Int Source

elem :: Eq a => a -> UInt a -> Bool Source

maximum :: Ord a => UInt a -> a Source

minimum :: Ord a => UInt a -> a Source

sum :: Num a => UInt a -> a Source

product :: Num a => UInt a -> a Source

Foldable (UWord :: Type -> Type)

С версии: base-4.9.0.0

Информация о экземпляре

Определено в Data.Foldable

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

fold :: Monoid m => UWord m -> m Source

foldMap :: Monoid m => (a -> m) -> UWord a -> m Source

foldMap' :: Monoid m => (a -> m) -> UWord a -> m Source

foldr :: (a -> b -> b) -> b -> UWord a -> b Source

foldr' :: (a -> b -> b) -> b -> UWord a -> b Source

foldl :: (b -> a -> b) -> b -> UWord a -> b Source

foldl' :: (b -> a -> b) -> b -> UWord a -> b Source

foldr1 :: (a -> a -> a) -> UWord a -> a Source

foldl1 :: (a -> a -> a) -> UWord a -> a Source

toList :: UWord a -> [a] Source

null :: UWord a -> Bool Source

length :: UWord a -> Int Source

elem :: Eq a => a -> UWord a -> Bool Source

maximum :: Ord a => UWord a -> a Source

minimum :: Ord a => UWord a -> a Source

sum :: Num a => UWord a -> a Source

product :: Num a => UWord a -> a Source

Перечислимая (UAddr :: Тип -> Тип)

С момента: base-4.9.0.0

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

Определено в Data.Traversable

Методы

traverse :: Применимый f => (a -> f b) -> UAddr a -> f (UAddr b) Исходный код

sequenceA :: Применимый f => UAddr (f a) -> f (UAddr a) Исходный код

mapM :: Моноид m => (a -> m b) -> UAddr a -> m (UAddr b) Исходный код

sequence :: Моноид m => UAddr (m a) -> m (UAddr a) Исходный код

Перечислимая (UChar :: Тип -> Тип)

С момента: base-4.9.0.0

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

Определено в Data.Traversable

Методы

traverse :: Применимый f => (a -> f b) -> UChar a -> f (UChar b) Исходный код

sequenceA :: Применимый f => UChar (f a) -> f (UChar a) Исходный код

mapM :: Моноид m => (a -> m b) -> UChar a -> m (UChar b) Исходный код

sequence :: Моноид m => UChar (m a) -> m (UChar a) Исходный код

Перечислимая (UDouble :: Тип -> Тип)

С момента: base-4.9.0.0

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

Определено в Data.Traversable

Методы

traverse :: Применимый f => (a -> f b) -> UDouble a -> f (UDouble b) Исходный код

sequenceA :: Применимый f => UDouble (f a) -> f (UDouble a) Исходный код

mapM :: Моноид m => (a -> m b) -> UDouble a -> m (UDouble b) Исходный код

sequence :: Моноид m => UDouble (m a) -> m (UDouble a) Исходный код

Перечислимая (UFloat :: Тип -> Тип)

С момента: base-4.9.0.0

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

Определено в Data.Traversable

Методы

traverse :: Применимый f => (a -> f b) -> UFloat a -> f (UFloat b) Исходный код

sequenceA :: Применимый f => UFloat (f a) -> f (UFloat a) Исходный код

mapM :: Моноид m => (a -> m b) -> UFloat a -> m (UFloat b) Исходный код

sequence :: Моноид m => UFloat (m a) -> m (UFloat a) Исходный код

Перечислимая (UInt :: Тип -> Тип)

С момента: base-4.9.0.0

Instance details

Определено в Data.Traversable

Методы

traverse :: Applicative f => (a -> f b) -> UInt a -> f (UInt b) Source

sequenceA :: Applicative f => UInt (f a) -> f (UInt a) Source

mapM :: Monad m => (a -> m b) -> UInt a -> m (UInt b) Source

sequence :: Monad m => UInt (m a) -> m (UInt a) Source

Traversable (UWord :: Type -> Type)

Since: base-4.9.0.0

Instance details

Определено в Data.Traversable

Методы

traverse :: Applicative f => (a -> f b) -> UWord a -> f (UWord b) Source

sequenceA :: Applicative f => UWord (f a) -> f (UWord a) Source

mapM :: Monad m => (a -> m b) -> UWord a -> m (UWord b) Source

sequence :: Monad m => UWord (m a) -> m (UWord a) Source

Functor (URec Char :: Type -> Type)

Since: base-4.9.0.0

Instance details

Определено в GHC.Generics

Методы

fmap :: (a -> b) -> URec Char a -> URec Char b Source

(<$) :: a -> URec Char b -> URec Char a Source

Functor (URec Double :: Type -> Type)

Since: base-4.9.0.0

Instance details

Определено в GHC.Generics

Методы

fmap :: (a -> b) -> URec Double a -> URec Double b Source

(<$) :: a -> URec Double b -> URec Double a Source

Functor (URec Float :: Type -> Type)

Since: base-4.9.0.0

Instance details

Определено в GHC.Generics

Методы

fmap :: (a -> b) -> URec Float a -> URec Float b Source

(<$) :: a -> URec Float b -> URec Float a Source

Functor (URec Int :: Type -> Type)

Since: base-4.9.0.0

Instance details

Определено в GHC.Generics

Методы

fmap :: (a -> b) -> URec Int a -> URec Int b Source

(<$) :: a -> URec Int b -> URec Int a Source

Functor (URec Word :: Type -> Type)

Since: base-4.9.0.0

Информация о экземпляре

Определено в GHC.Generics

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

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

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

Functor (URec (Ptr ()) :: Type -> Type)

С версии: base-4.9.0.0

Информация о экземпляре

Определено в GHC.Generics

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

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

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

Eq (URec Word p)

С версии: base-4.9.0.0

Информация о экземпляре

Определено в GHC.Generics

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

(==) :: URec Word p -> URec Word p -> Bool Источник

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

Eq (URec Int p)

С версии: base-4.9.0.0

Информация о экземпляре

Определено в GHC.Generics

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

(==) :: URec Int p -> URec Int p -> Bool Источник

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

Eq (URec Float p)
Информация о экземпляре

Определено в GHC.Generics

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

(==) :: URec Float p -> URec Float p -> Bool Источник

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

Eq (URec Double p)

С версии: base-4.9.0.0

Информация о экземпляре

Определено в GHC.Generics

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

(==) :: URec Double p -> URec Double p -> Bool Источник

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

Eq (URec Char p)

С версии: base-4.9.0.0

Информация о экземпляре

Определено в GHC.Generics

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

(==) :: URec Char p -> URec Char p -> Bool Источник

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

Eq (URec (Ptr ()) p)

С версии: base-4.9.0.0

Информация о экземпляре

Определено в GHC.Generics

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

(==) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Источник

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

Ord (URec Целое без знака p)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

compare :: URec Целое без знака p -> URec Целое без знака p -> Порядок Источник

(<) :: URec Целое без знака p -> URec Целое без знака p -> Булево Источник

(<=) :: URec Целое без знака p -> URec Целое без знака p -> Булево Источник

(>) :: URec Целое без знака p -> URec Целое без знака p -> Булево Источник

(>=) :: URec Целое без знака p -> URec Целое без знака p -> Булево Источник

max :: URec Целое без знака p -> URec Целое без знака p -> URec Целое без знака p Источник

min :: URec Целое без знака p -> URec Целое без знака p -> URec Целое без знака p Источник

Ord (URec Целое p)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

compare :: URec Целое p -> URec Целое p -> Порядок Источник

(<) :: URec Целое p -> URec Целое p -> Булево Источник

(<=) :: URec Целое p -> URec Целое p -> Булево Источник

(>) :: URec Целое p -> URec Целое p -> Булево Источник

(>=) :: URec Целое p -> URec Целое p -> Булево Источник

max :: URec Целое p -> URec Целое p -> URec Целое p Источник

min :: URec Целое p -> URec Целое p -> URec Целое p Источник

Ord (URec Вещественное число с плавающей точкой p)
Подробности экземпляра

Определено в GHC.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 Double p)

С момента: base-4.9.0.0

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

Определено в GHC.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 Char p)

С момента: base-4.9.0.0

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

Определено в GHC.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 (Ptr ()) p)

С момента: base-4.9.0.0

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

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

Show (URec Word p)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

showsPrec :: Int -> URec Word p -> ShowS Исходный код

show :: URec Word p -> String Исходный код

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

Show (URec Int p)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

show :: URec Int p -> String Исходный код

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

Show (URec Float p)
Подробности экземпляра

Определено в GHC.Generics

Методы

showsPrec :: Int -> URec Float p -> ShowS Источник

show :: URec Float p -> Строка Источник

showList :: [URec Float p] -> ShowS Источник

Show (URec Double p)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

showsPrec :: Int -> URec Double p -> ShowS Источник

show :: URec Double p -> Строка Источник

showList :: [URec Double p] -> ShowS Источник

Show (URec Символ p)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

showsPrec :: Int -> URec Символ p -> ShowS Источник

show :: URec Символ p -> Строка Источник

showList :: [URec Символ p] -> ShowS Источник

Generic (URec Целое без знака p)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep (URec Целое без знака p) :: Тип -> Тип Источник

Методы

from :: URec Целое без знака p -> Rep (URec Целое без знака p) x Источник

to :: Rep (URec Целое без знака p) x -> URec Целое без знака p Источник

Generic (URec Целое число p)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep (URec Целое число p) :: Тип -> Тип Источник

Методы

from :: URec Целое число p -> Rep (URec Целое число p) x Источник

to :: Rep (URec Целое число p) x -> URec Целое число p Источник

Generic (URec Float p)
Подробности экземпляра

Определено в GHC.Generics

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

type Rep (URec Float p) :: Тип -> Тип Источник

Методы

from :: URec Float p -> Rep (URec Float p) x Источник

to :: Rep (URec Float p) x -> URec Float p Источник

Generic (URec Double p)

С момента: base-4.9.0.0

Информация о экземпляре

Определено в GHC.Generics

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

type Rep (URec Double p) :: Type -> Type Источник

Методы

from :: URec Double p -> Rep (URec Double p) x Источник

to :: Rep (URec Double p) x -> URec Double p Источник

Generic (URec Char p)

С версии: base-4.9.0.0

Информация о экземпляре

Определено в GHC.Generics

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

type Rep (URec Char p) :: Type -> Type Источник

Методы

from :: URec Char p -> Rep (URec Char p) x Источник

to :: Rep (URec Char p) x -> URec Char p Источник

Generic (URec (Ptr ()) p)

С версии: base-4.9.0.0

Информация о экземпляре

Определено в GHC.Generics

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

type Rep (URec (Ptr ()) p) :: Type -> Type Источник

Методы

from :: URec (Ptr ()) p -> Rep (URec (Ptr ()) p) x Источник

to :: Rep (URec (Ptr ()) p) x -> URec (Ptr ()) p Источник

data URec Word (p :: k)

Используется для маркировки вхождений Word#

С версии: base-4.9.0.0

Информация о экземпляре

Определено в GHC.Generics

data URec Word (p :: k) = UWord {
  • uWord# :: Word#
}
data URec Int (p :: k)

Используется для маркировки вхождений Int#

С версии: base-4.9.0.0

Информация о экземпляре

Определено в GHC.Generics

data URec Int (p :: k) = UInt {
  • uInt# :: Int#
}
data URec Float (p :: k)

Используется для маркировки вхождений Float#

С версии: base-4.9.0.0

Информация о экземпляре

Определено в GHC.Generics

data URec Float (p :: k) = UFloat {
  • uFloat# :: Float#
}
data URec Double (p :: k)

Используется для маркировки вхождений Double#

С версии: base-4.9.0.0

Информация о экземпляре

Определено в GHC.Generics

data URec Double (p :: k) = UDouble {
  • uDouble# :: Double#
}
data URec Char (p :: k)

Используется для маркировки вхождений Char#

С версии: base-4.9.0.0

Информация о экземпляре

Определено в GHC.Generics

data URec Char (p :: k) = UChar {
  • uChar# :: Char#
}
data URec (Ptr ()) (p :: k)

Используется для маркировки вхождений Addr#

С версии: base-4.9.0.0

Информация о экземпляре

Определено в GHC.Generics

data URec (Ptr ()) (p :: k) = UAddr {
  • uAddr# :: Addr#
}
type Rep1 (URec Word :: k -> Type)
Подробности экземпляра

Определено в GHC.Generics

тип Rep1 (URec Word :: k -> Тип) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UWord" 'PrefixI 'True) (S1 ('MetaSel ('Just "uWord#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UWord :: k -> Тип)))
тип Rep1 (URec Целое :: k -> Тип)
Подробности экземпляра

Определено в GHC.Generics

тип Rep1 (URec Целое :: k -> Тип) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UInt" 'PrefixI 'True) (S1 ('MetaSel ('Just "uInt#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UInt :: k -> Тип)))
тип Rep1 (URec Вещественное :: k -> Тип)
Подробности экземпляра

Определено в GHC.Generics

тип Rep1 (URec Вещественное :: k -> Тип) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UFloat" 'PrefixI 'True) (S1 ('MetaSel ('Just "uFloat#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UFloat :: k -> Тип)))
тип Rep1 (URec Двойное :: k -> Тип)
Подробности экземпляра

Определено в GHC.Generics

тип Rep1 (URec Двойное :: k -> Тип) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UDouble" 'PrefixI 'True) (S1 ('MetaSel ('Just "uDouble#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UDouble :: k -> Тип)))
тип Rep1 (URec Символ :: k -> Тип)
Подробности экземпляра

Определено в GHC.Generics

тип Rep1 (URec Символ :: k -> Тип) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UChar" 'PrefixI 'True) (S1 ('MetaSel ('Just "uChar#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UChar :: k -> Тип)))
тип Rep1 (URec (Указатель ()) :: k -> Тип)
Подробности экземпляра

Определено в GHC.Generics

тип Rep1 (URec (Указатель ()) :: k -> Тип) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UAddr" 'PrefixI 'True) (S1 ('MetaSel ('Just "uAddr#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UAddr :: k -> Тип)))
тип Rep (URec Word p)
Подробности экземпляра

Определено в GHC.Generics

type Rep (URec Word p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UWord" 'PrefixI 'True) (S1 ('MetaSel ('Just "uWord#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UWord :: Type -> Type)))
type Rep (URec Int p)
Подробности экземпляра

Определено в GHC.Generics

type Rep (URec Int p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UInt" 'PrefixI 'True) (S1 ('MetaSel ('Just "uInt#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UInt :: Type -> Type)))
type Rep (URec Float p)
Подробности экземпляра

Определено в GHC.Generics

type Rep (URec Float p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UFloat" 'PrefixI 'True) (S1 ('MetaSel ('Just "uFloat#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UFloat :: Type -> Type)))
type Rep (URec Double p)
Подробности экземпляра

Определено в GHC.Generics

type Rep (URec Double p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UDouble" 'PrefixI 'True) (S1 ('MetaSel ('Just "uDouble#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UDouble :: Type -> Type)))
type Rep (URec Char p)
Подробности экземпляра

Определено в GHC.Generics

type Rep (URec Char p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UChar" 'PrefixI 'True) (S1 ('MetaSel ('Just "uChar#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UChar :: Type -> Type)))
type Rep (URec (Ptr ()) p)
Подробности экземпляра

Определено в GHC.Generics

type Rep (URec (Ptr ()) p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UAddr" 'PrefixI 'True) (S1 ('MetaSel ('Just "uAddr#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UAddr :: Type -> Type)))

type UAddr = URec (Ptr ()) Исходный код

Псевдоним типа для URec Addr#

С момента: base-4.9.0.0

type UChar = URec Char Исходный код

Псевдоним типа для URec Char#

С момента: base-4.9.0.0

type UDouble = URec Double Исходный код

Псевдоним типа для URec Double#

С момента: base-4.9.0.0

type UFloat = URec Float Source

Синоним типа для URec Float#

С тех пор как: base-4.9.0.0

type UInt = URec Int Source

Синоним типа для URec Int#

С тех пор как: base-4.9.0.0

type UWord = URec Word Source

Синоним типа для URec Word#

С тех пор как: base-4.9.0.0

Синонимы для удобства

type Rec0 = K1 R Source

Синоним типа для кодирования рекурсии (вида Type)

data R Source

Тег для K1: рекурсия (вида Type)

type D1 = M1 D Source

Синоним типа для кодирования метаинформации для типов данных

type C1 = M1 C Source

Синоним типа для кодирования метаинформации для конструкторов

type S1 = M1 S Source

Синоним типа для кодирования метаинформации для селекторов записей

data D Source

Тег для M1: тип данных

data C Source

Тег для M1: конструктор

data S Source

Тег для M1: селектор записи

Метаинформация

class Datatype d where Source

Класс для типов данных, представляющих типы данных

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

datatypeName, moduleName, packageName

Методы

datatypeName :: t d (f :: k -> Type) (a :: k) -> [Char] Source

Имя типа данных (без квалификатора)

moduleName :: t d (f :: k -> Type) (a :: k) -> [Char] Source

Полное имя модуля, где объявлен тип

packageName :: t d (f :: k -> Type) (a :: k) -> [Char] Source

Имя пакета модуля, где объявлен тип

С тех пор как: base-4.9.0.0

isNewtype :: t d (f :: k -> Type) (a :: k) -> Bool Source

Помечает, является ли тип данных на самом деле 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.Generics

Методы

datatypeName :: forall k t (f :: k -> Type) (a :: k). t ('MetaData n m p nt) f a -> [Char] Source

moduleName :: forall k t (f :: k -> Type) (a :: k). t ('MetaData n m p nt) f a -> [Char] Source

packageName :: forall k t (f :: k -> Type) (a :: k). t ('MetaData n m p nt) f a -> [Char] Source

isNewtype :: forall k t (f :: k -> Type) (a :: k). t ('MetaData n m p nt) f a -> Bool Source

class Constructor c where Source

Класс для типов данных, представляющих конструкторы данных

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

conName

Методы

conName :: t c (f :: k -> Type) (a :: k) -> [Char] Source

Имя конструктора

conFixity :: t c (f :: k -> Type) (a :: k) -> Fixity Source

Приоритет конструктора

conIsRecord :: t c (f :: k -> Type) (a :: k) -> Bool Source

Пометка, является ли данный конструктор записью

Примеры
Подробности примеров
(KnownSymbol n, SingI f, SingI r) => Конструктор ('MetaCons n f r :: Мета)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

conName :: forall k t (f0 :: k -> Тип) (a :: k). t ('MetaCons n f r) f0 a -> [Символ] Исходный код

conFixity :: forall k t (f0 :: k -> Тип) (a :: k). t ('MetaCons n f r) f0 a -> Фиксированность Исходный код

conIsRecord :: forall k t (f0 :: k -> Тип) (a :: k). t ('MetaCons n f r) f0 a -> Булево Исходный код

class Селектор s where Исходный код

Класс для типов данных, представляющих записи

Методы

selName :: t s (f :: k -> Тип) (a :: k) -> [Символ] Исходный код

Имя селектора

selSourceUnpackedness :: t s (f :: k -> Тип) (a :: k) -> SourceUnpackedness Исходный код

Аннотация раскрутки селектора (при наличии)

С момента: base-4.9.0.0

selSourceStrictness :: t s (f :: k -> Тип) (a :: k) -> SourceStrictness Исходный код

Аннотация строгости селектора (при наличии)

С момента: base-4.9.0.0

selDecidedStrictness :: t s (f :: k -> Тип) (a :: k) -> DecidedStrictness Исходный код

Строгость, выведенная компилятором для селектора

С момента: base-4.9.0.0

Примеры
Подробности примеров
(SingI mn, SingI su, SingI ss, SingI ds) => Селектор ('MetaSel mn su ss ds :: Мета)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

selName :: forall k t (f :: k -> Тип) (a :: k). t ('MetaSel mn su ss ds) f a -> [Символ] Исходный код

selSourceUnpackedness :: forall k t (f :: k -> Тип) (a :: k). t ('MetaSel mn su ss ds) f a -> SourceUnpackedness Исходный код

selSourceStrictness :: forall k t (f :: k -> Тип) (a :: k). t ('MetaSel mn su ss ds) f a -> SourceStrictness Исходный код

selDecidedStrictness :: forall k t (f :: k -> Тип) (a :: k). t ('MetaSel mn su ss ds) f a -> DecidedStrictness Исходный код

data Фиксированность Исходный код

Тип данных для представления фиксированности конструктора. Инфиксная инструкция | напрямую соответствует применению Infix.

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

Префикс
Инфикс Ассоциативность Целое
Экземпляры
Подробности экземпляров
Eq Fixity

С версии: base-4.6.0.0

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

Определено в GHC.Generics

Методы

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

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

Data Fixity

С версии: base-4.9.0.0

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

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

Ord Fixity

С версии: base-4.6.0.0

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

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

Read Fixity

С версии: base-4.6.0.0

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

Определено в GHC.Generics

Методы

readsPrec :: Int -> ReadS Fixity Исходный код

readList :: ReadS [Fixity] Исходный код

readPrec :: ReadPrec Fixity Исходный код

readListPrec :: ReadPrec [Fixity] Исходный код

Show Fixity

С момента: base-4.6.0.0

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

Определено в GHC.Generics

Методы

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

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

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

Generic Fixity

С момента: base-4.7.0.0

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

Определено в GHC.Generics

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

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

Методы

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

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

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

Определено в GHC.Generics

type Rep Fixity = D1 ('MetaData "Fixity" "GHC.Generics" "base" '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

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

Тип данных для представления ассоциативности конструктора

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

LeftAssociative
RightAssociative
NotAssociative
Примеры реализации
Подробности примеров
Ограниченное Ассоциативность

С момента: base-4.9.0.0

Подробности реализации

Определено в GHC.Generics

Методы

minBound :: Ассоциативность Исходный код

maxBound :: Ассоциативность Исходный код

Перечисление Ассоциативность

С момента: base-4.9.0.0

Подробности реализации

Определено в GHC.Generics

Методы

succ :: Ассоциативность -> Ассоциативность Исходный код

pred :: Ассоциативность -> Ассоциативность Исходный код

toEnum :: Целое -> Ассоциативность Исходный код

fromEnum :: Ассоциативность -> Целое Исходный код

enumFrom :: Ассоциативность -> [Ассоциативность] Исходный код

enumFromThen :: Ассоциативность -> Ассоциативность -> [Ассоциативность] Исходный код

enumFromTo :: Ассоциативность -> Ассоциативность -> [Ассоциативность] Исходный код

enumFromThenTo :: Ассоциативность -> Ассоциативность -> Ассоциативность -> [Ассоциативность] Исходный код

Равенство Ассоциативность

С момента: base-4.6.0.0

Подробности реализации

Определено в GHC.Generics

Методы

(==) :: Ассоциативность -> Ассоциативность -> Булево Исходный код

(/=) :: Ассоциативность -> Ассоциативность -> Булево Исходный код

Данные Ассоциативность

С момента: base-4.9.0.0

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

Определено в 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)) -> Может (c Associativity) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Может (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 :: Целое -> (forall d. Data d => d -> u) -> Associativity -> u Исходный код

gmapM :: Монад 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 Исходный код

Порядок Associativity

С: base-4.6.0.0

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

Определено в GHC.Generics

Методы

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

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

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

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

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

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

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

Чтение Associativity

С: base-4.6.0.0

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

Определено в GHC.Generics

Методы

readsPrec :: Int -> ReadS Associativity Исходный код

readList :: ReadS [Associativity] Исходный код

readPrec :: ReadPrec Associativity Исходный код

readListPrec :: ReadPrec [Associativity] Исходный код

Show Associativity

С момента: base-4.6.0.0

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

Определено в GHC.Generics

Методы

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

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

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

Ix Associativity

С момента: base-4.9.0.0

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

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

Generic Associativity

С момента: base-4.7.0.0

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

Определено в GHC.Generics

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

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

Методы

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

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

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

Определено в GHC.Generics

type Rep Associativity = D1 ('MetaData "Associativity" "GHC.Generics" "base" 'False) (C1 ('MetaCons "LeftAssociative" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: (C1 ('MetaCons "RightAssociative" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: C1 ('MetaCons "NotAssociative" 'PrefixI 'False) (U1 :: Тип -> Тип)))

prec :: Fixity -> Int Исходный код

Получение приоритета значения фиксированности.

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

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

data E = ExampleConstructor     Int
           {-# NOUNPACK #-} Int
           {-#   UNPACK #-} Int

Поля ExampleConstructor имеют NoSourceUnpackedness, SourceNoUnpack, и SourceUnpack, соответственно.

С момента: base-4.9.0.0

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

NoSourceUnpackedness
SourceNoUnpack
SourceUnpack
Примеры использования
Подробности примеров использования
Bounded SourceUnpackedness

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

minBound :: SourceUnpackedness Исходный код

maxBound :: SourceUnpackedness Исходный код

Enum SourceUnpackedness

С момента: base-4.9.0.0

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

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

Eq SourceUnpackedness

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

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

Data SourceUnpackedness

С момента: base-4.9.0.0

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

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

Ord SourceUnpackedness

С: base-4.9.0.0

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

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

Read SourceUnpackedness

С: base-4.9.0.0

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

Определено в GHC.Generics

Методы

readsPrec :: Int -> ReadS SourceUnpackedness Исходный код

readList :: ReadS [SourceUnpackedness] Исходный код

readPrec :: ReadPrec SourceUnpackedness Исходный код

readListPrec :: ReadPrec [SourceUnpackedness] Исходный код

Show SourceUnpackedness

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

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

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

Ix SourceUnpackedness

С момента: base-4.9.0.0

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

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

Generic SourceUnpackedness

С момента: base-4.9.0.0

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

Определено в GHC.Generics

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

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

Методы

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

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

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

Определено в GHC.Generics

type Rep SourceUnpackedness = D1 ('MetaData "SourceUnpackedness" "GHC.Generics" "base" '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 SourceStrictness Исходный код

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

data E = ExampleConstructor Int ~Int !Int

Поля ExampleConstructor имеют соответственно NoSourceStrictness, SourceLazy, и SourceStrict.

С момента: base-4.9.0.0

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

NoSourceStrictness
SourceLazy
SourceStrict
Примеры
Подробности примеров
Bounded SourceStrictness

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

minBound :: SourceStrictness Источник

maxBound :: SourceStrictness Источник

Enum SourceStrictness

С момента: base-4.9.0.0

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

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

Eq SourceStrictness

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

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

Data SourceStrictness

С момента: base-4.9.0.0

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

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

Ord SourceStrictness

Since: base-4.9.0.0

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

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

Read SourceStrictness

Since: base-4.9.0.0

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

Определено в GHC.Generics

Методы

readsPrec :: Int -> ReadS SourceStrictness Исходный код

readList :: ReadS [SourceStrictness] Исходный код

readPrec :: ReadPrec SourceStrictness Исходный код

readListPrec :: ReadPrec [SourceStrictness] Исходный код

Show SourceStrictness

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

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

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

Ix SourceStrictness

С момента: base-4.9.0.0

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

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

Generic SourceStrictness

С момента: base-4.9.0.0

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

Определено в GHC.Generics

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

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

Методы

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

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

type Rep SourceStrictness
Детали экземпляра

Определено в GHC.Generics

type Rep SourceStrictness = D1 ('MetaData "SourceStrictness" "GHC.Generics" "base" '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 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
Примеры использования
Подробности примеров использования
Bounded DecidedStrictness

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

minBound :: DecidedStrictness Источник

maxBound :: DecidedStrictness Источник

Enum DecidedStrictness

С момента: base-4.9.0.0

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

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

Eq DecidedStrictness

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

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

Data DecidedStrictness

С момента: base-4.9.0.0

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

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

Ord DecidedStrictness

С: base-4.9.0.0

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

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

Read DecidedStrictness

С: base-4.9.0.0

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

Определено в GHC.Generics

Методы

readsPrec :: Int -> ReadS DecidedStrictness Исходный код

readList :: ReadS [DecidedStrictness] Исходный код

readPrec :: ReadPrec DecidedStrictness Исходный код

readListPrec :: ReadPrec [DecidedStrictness] Исходный код

Show DecidedStrictness

С момента: base-4.9.0.0

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

Определено в GHC.Generics

Методы

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

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

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

Ix DecidedStrictness

С момента: base-4.9.0.0

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

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

Generic DecidedStrictness

С момента: base-4.9.0.0

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

Определено в GHC.Generics

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

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

Методы

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

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

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

Определено в GHC.Generics

type Rep DecidedStrictness = D1 ('MetaData "DecidedStrictness" "GHC.Generics" "base" '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 Meta Исходный код

Тип данных для представления метаданных, связанных с типом данных (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) => Конструктор ('MetaCons n f r :: Meta)

С: base-4.9.0.0

Подробности примера реализации

Определено в GHC.Generics

Методы

conName :: forall k t (f0 :: k -> Тип) (a :: k). t ('MetaCons n f r) f0 a -> [Символ] Исходный код

conFixity :: forall k t (f0 :: k -> Тип) (a :: k). t ('MetaCons n f r) f0 a -> Приоритет Исходный код

conIsRecord :: forall k t (f0 :: k -> Тип) (a :: k). t ('MetaCons n f r) f0 a -> Булево Исходный код

(KnownSymbol n, KnownSymbol m, KnownSymbol p, SingI nt) => Тип данных ('MetaData n m p nt :: Meta)

С: base-4.9.0.0

Подробности примера реализации

Определено в GHC.Generics

Методы

datatypeName :: forall k t (f :: k -> Тип) (a :: k). t ('MetaData n m p nt) f a -> [Символ] Исходный код

moduleName :: forall k t (f :: k -> Тип) (a :: k). t ('MetaData n m p nt) f a -> [Символ] Исходный код

packageName :: forall k t (f :: k -> Тип) (a :: k). t ('MetaData n m p nt) f a -> [Символ] Исходный код

isNewtype :: forall k t (f :: k -> Тип) (a :: k). t ('MetaData n m p nt) f a -> Булево Исходный код

(SingI mn, SingI su, SingI ss, SingI ds) => Селектор ('MetaSel mn su ss ds :: Meta)

С: base-4.9.0.0

Подробности примера реализации

Определено в GHC.Generics

Методы

selName :: forall k t (f :: k -> Тип) (a :: k). t ('MetaSel mn su ss ds) f a -> [Символ] Исходный код

selSourceUnpackedness :: forall k t (f :: k -> Тип) (a :: k). t ('MetaSel mn su ss ds) f a -> SourceUnpackedness Исходный код

selSourceStrictness :: forall k t (f :: k -> Тип) (a :: k). t ('MetaSel mn su ss ds) f a -> SourceStrictness Исходный код

selDecidedStrictness :: forall k t (f :: k -> Тип) (a :: k). t ('MetaSel mn su ss ds) f a -> DecidedStrictness Исходный код

Обобщённые классы типов

class Generic a where Исходный код

Представления типов вида *. Этот класс можно вывести в GHC с флагом DeriveGeneric.

Пример реализации класса Generic должен удовлетворять следующим законам:

from . to ≡ id
to . from ≡ id

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

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

Обобщённое представленный тип

Методы

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

Преобразование из типа данных в его представление

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

Преобразование из представления в тип данных

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

С версии: base-4.6.0.0

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

Определено в GHC.Generics

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

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

Методы

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

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

Generic Ordering

С версии: base-4.6.0.0

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

Определено в GHC.Generics

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

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

Методы

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

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

Generic ()

С версии: base-4.6.0.0

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

Определено в GHC.Generics

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

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

Методы

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

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

Generic DecidedStrictness

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

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

Методы

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

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

Generic SourceStrictness

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

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

Методы

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

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

Generic SourceUnpackedness

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

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

Методы

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

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

Generic Associativity

С версии: base-4.7.0.0

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

Определено в GHC.Generics

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

type Rep Ассоциативность :: Тип -> Тип Исходный код

Методы

from :: Ассоциативность -> Rep Ассоциативность x Исходный код

to :: Rep Ассоциативность x -> Ассоциативность Исходный код

Generic Фиксированность

С момента: base-4.7.0.0

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

Определено в GHC.Generics

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

type Rep Фиксированность :: Тип -> Тип Исходный код

Методы

from :: Фиксированность -> Rep Фиксированность x Исходный код

to :: Rep Фиксированность x -> Фиксированность Исходный код

Generic Any

С момента: base-4.7.0.0

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

Определено в Data.Semigroup.Internal

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

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

Методы

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

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

Generic All

С момента: base-4.7.0.0

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

Определено в Data.Semigroup.Internal

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

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

Методы

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

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

Generic Код выхода
Детали экземпляра

Определено в GHC.IO.Exception

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

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

Методы

from :: Код выхода -> Rep Код выхода x Исходный код

to :: Rep Код выхода x -> Код выхода Исходный код

Generic Версия

С момента: base-4.9.0.0

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

Определено в Data.Version

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

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

Методы

from :: Версия -> Rep Версия x Исходный код

to :: Rep Версия x -> Версия Исходный код

Generic Void

С момента: base-4.8.0.0

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

Определено в Data.Void

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

type Rep Void :: Type -> Type Source

Методы

from :: Void -> Rep Void x Source

to :: Rep Void x -> Void Source

Generic [a]

Since: base-4.6.0.0

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

Определено в GHC.Generics

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

type Rep [a] :: Type -> Type Source

Методы

from :: [a] -> Rep [a] x Source

to :: Rep [a] x -> [a] Source

Generic (Maybe a)

Since: base-4.6.0.0

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

Определено в GHC.Generics

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

type Rep (Maybe a) :: Type -> Type Source

Методы

from :: Maybe a -> Rep (Maybe a) x Source

to :: Rep (Maybe a) x -> Maybe a Source

Generic (Par1 p)

Since: base-4.7.0.0

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

Определено в GHC.Generics

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

type Rep (Par1 p) :: Type -> Type Source

Методы

from :: Par1 p -> Rep (Par1 p) x Source

to :: Rep (Par1 p) x -> Par1 p Source

Generic (NonEmpty a)

Since: base-4.6.0.0

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

Определено в GHC.Generics

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

type Rep (NonEmpty a) :: Type -> Type Source

Методы

from :: NonEmpty a -> Rep (NonEmpty a) x Source

to :: Rep (NonEmpty a) x -> NonEmpty a Source

Generic (Down a)

Since: base-4.12.0.0

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

Определено в GHC.Generics

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

type Rep (Down a) :: Type -> Type Source

Методы

from :: Down a -> Rep (Down a) x Source

to :: Rep (Down a) x -> Down a Source

Generic (Product a)

Since: base-4.7.0.0

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

Определено в Data.Semigroup.Internal

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

type Rep (Product a) :: Type -> Type Source

Методы

from :: Product a -> Rep (Product a) x Source

to :: Rep (Product a) x -> Product a Source

Generic (Сумма a)

С момента: base-4.7.0.0

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

Определено в Data.Semigroup.Internal

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

type Rep (Сумма a) :: Тип -> Тип Исходный код

Методы

from :: Сумма a -> Rep (Сумма a) x Исходный код

to :: Rep (Сумма a) x -> Сумма a Исходный код

Generic (Endo a)

С момента: base-4.7.0.0

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

Определено в Data.Semigroup.Internal

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

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

Методы

from :: Endo a -> Rep (Endo a) x Исходный код

to :: Rep (Endo a) x -> Endo a Исходный код

Generic (Dual a)

С момента: base-4.7.0.0

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

Определено в Data.Semigroup.Internal

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

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

Методы

from :: Dual a -> Rep (Dual a) x Исходный код

to :: Rep (Dual a) x -> Dual a Исходный код

Generic (Last a)

С момента: base-4.7.0.0

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

Определено в Data.Monoid

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

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

Методы

from :: Last a -> Rep (Last a) x Исходный код

to :: Rep (Last a) x -> Last a Исходный код

Generic (First a)

С момента: base-4.7.0.0

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

Определено в Data.Monoid

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

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

Методы

from :: First a -> Rep (First a) x Исходный код

to :: Rep (First a) x -> First a Исходный код

Generic (Identity a)

С момента: base-4.8.0.0

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

Определено в Data.Functor.Identity

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

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

Методы

from :: Identity a -> Rep (Identity a) x Исходный код

to :: Rep (Identity a) x -> Identity a Исходный код

Generic (ZipList a)

С момента: base-4.7.0.0

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

Определено в Control.Applicative

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

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

Методы

from :: ZipList a -> Rep (ZipList a) x Исходный код

to :: Rep (ZipList a) x -> ZipList a Исходный код

Generic (Option a)

С момента: base-4.9.0.0

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

Определено в Data.Semigroup

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

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

Методы

from :: Option a -> Rep (Option a) x Исходный код

to :: Rep (Option a) x -> Option a Исходный код

Generic (WrappedMonoid m)

С момента: base-4.9.0.0

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

Определено в Data.Semigroup

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

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

Методы

from :: WrappedMonoid m -> Rep (WrappedMonoid m) x Исходный код

to :: Rep (WrappedMonoid m) x -> WrappedMonoid m Исходный код

Generic (Last a)

С момента: base-4.9.0.0

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

Определено в Data.Semigroup

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

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

Методы

from :: Last a -> Rep (Last a) x Исходный код

to :: Rep (Last a) x -> Last a Исходный код

Generic (First a)

С момента: base-4.9.0.0

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

Определено в Data.Semigroup

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

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

Методы

from :: First a -> Rep (First a) x Исходный код

to :: Rep (First a) x -> First a Исходный код

Generic (Max a)

С момента: base-4.9.0.0

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

Определено в Data.Semigroup

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

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

Методы

from :: Max a -> Rep (Max a) x Исходный код

to :: Rep (Max a) x -> Max a Исходный код

Generic (Min a)

С момента: base-4.9.0.0

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

Определено в Data.Semigroup

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

type Rep (Min a) :: Type -> Type Source

Методы

from :: Min a -> Rep (Min a) x Source

to :: Rep (Min a) x -> Min a Source

Generic (Complex a)

Since: base-4.9.0.0

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

Определено в Data.Complex

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

type Rep (Complex a) :: Type -> Type Source

Методы

from :: Complex a -> Rep (Complex a) x Source

to :: Rep (Complex a) x -> Complex a Source

Generic (Either a b)

Since: base-4.6.0.0

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

Определено в GHC.Generics

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

type Rep (Either a b) :: Type -> Type Source

Методы

from :: Either a b -> Rep (Either a b) x Source

to :: Rep (Either a b) x -> Either a b Source

Generic (V1 p)

Since: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep (V1 p) :: Type -> Type Source

Методы

from :: V1 p -> Rep (V1 p) x Source

to :: Rep (V1 p) x -> V1 p Source

Generic (U1 p)

Since: base-4.7.0.0

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

Определено в GHC.Generics

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

type Rep (U1 p) :: Type -> Type Source

Методы

from :: U1 p -> Rep (U1 p) x Source

to :: Rep (U1 p) x -> U1 p Source

Generic (a, b)

Since: base-4.6.0.0

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

Определено в GHC.Generics

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

type Rep (a, b) :: Type -> Type Source

Методы

from :: (a, b) -> Rep (a, b) x Source

to :: Rep (a, b) x -> (a, b) Source

Generic (Proxy t)

Since: base-4.6.0.0

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

Определено в GHC.Generics

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

type Rep (Proxy t) :: Type -> Type Source

Методы

from :: Proxy t -> Rep (Proxy t) x Source

to :: Rep (Proxy t) x -> Proxy t Source

Generic (WrappedMonad m a)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

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

type Rep (WrappedMonad m a) :: Type -> Type Source

Методы

from :: WrappedMonad m a -> Rep (WrappedMonad m a) x Source

to :: Rep (WrappedMonad m a) x -> WrappedMonad m a Source

Generic (Arg a b)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

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

type Rep (Arg a b) :: Type -> Type Source

Методы

from :: Arg a b -> Rep (Arg a b) x Source

to :: Rep (Arg a b) x -> Arg a b Source

Generic (Rec1 f p)

Since: base-4.7.0.0

Instance details

Defined in GHC.Generics

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

type Rep (Rec1 f p) :: Type -> Type Source

Методы

from :: Rec1 f p -> Rep (Rec1 f p) x Source

to :: Rep (Rec1 f p) x -> Rec1 f p Source

Generic (URec Word p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

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

type Rep (URec Word p) :: Type -> Type Source

Методы

from :: URec Word p -> Rep (URec Word p) x Source

to :: Rep (URec Word p) x -> URec Word p Source

Generic (URec Int p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

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

type Rep (URec Int p) :: Type -> Type Source

Методы

from :: URec Int p -> Rep (URec Int p) x Source

to :: Rep (URec Int p) x -> URec Int p Source

Generic (URec Float p)
Instance details

Defined in GHC.Generics

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

type Rep (URec Float p) :: Type -> Type Source

Методы

from :: URec Float p -> Rep (URec Float p) x Source

to :: Rep (URec Float p) x -> URec Float p Source

Generic (URec Double p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

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

type Rep (URec Double p) :: Type -> Type Source

Методы

from :: URec Double p -> Rep (URec Double p) x Source

to :: Rep (URec Double p) x -> URec Double p Source

Generic (URec Char p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

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

type Rep (URec Char p) :: Type -> Type Source

Методы

from :: URec Char p -> Rep (URec Char p) x Source

to :: Rep (URec Char p) x -> URec Char p Source

Generic (URec (Ptr ()) p)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

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

type Rep (URec (Ptr ()) p) :: Type -> Type Source

Методы

from :: URec (Ptr ()) p -> Rep (URec (Ptr ()) p) x Source

to :: Rep (URec (Ptr ()) p) x -> URec (Ptr ()) p Source

Generic (a, b, c)

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

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

type Rep (a, b, c) :: Type -> Type Source

Методы

from :: (a, b, c) -> Rep (a, b, c) x Source

to :: Rep (a, b, c) x -> (a, b, c) Source

Generic (Alt f a)

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

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

type Rep (Alt f a) :: Type -> Type Source

Методы

from :: Alt f a -> Rep (Alt f a) x Source

to :: Rep (Alt f a) x -> Alt f a Source

Generic (Ap f a)

Since: base-4.12.0.0

Instance details

Defined in Data.Monoid

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

type Rep (Ap f a) :: Type -> Type Source

Методы

from :: Ap f a -> Rep (Ap f a) x Source

to :: Rep (Ap f a) x -> Ap f a Source

Generic (Const a b)

Since: base-4.9.0.0

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

Определено в Data.Functor.Const

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

тип Rep (Const a b) :: Тип -> Тип Исходный код

Методы

from :: Const a b -> Rep (Const a b) x Исходный код

to :: Rep (Const a b) x -> Const a b Исходный код

Generic (Kleisli m a b)

С момента: base-4.14.0.0

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

Определено в Control.Arrow

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

тип Rep (Kleisli m a b) :: Тип -> Тип Исходный код

Методы

from :: Kleisli m a b -> Rep (Kleisli m a b) x Исходный код

to :: Rep (Kleisli m a b) x -> Kleisli m a b Исходный код

Generic (WrappedArrow a b c)

С момента: base-4.7.0.0

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

Определено в Control.Applicative

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

тип Rep (WrappedArrow a b c) :: Тип -> Тип Исходный код

Методы

from :: WrappedArrow a b c -> Rep (WrappedArrow a b c) x Исходный код

to :: Rep (WrappedArrow a b c) x -> WrappedArrow a b c Исходный код

Generic (K1 i c p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

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

тип Rep (K1 i c p) :: Тип -> Тип Исходный код

Методы

from :: K1 i c p -> Rep (K1 i c p) x Исходный код

to :: Rep (K1 i c p) x -> K1 i c p Исходный код

Generic ((f :+: g) p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

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

тип Rep ((f :+: g) p) :: Тип -> Тип Исходный код

Методы

from :: (f :+: g) p -> Rep ((f :+: g) p) x Исходный код

to :: Rep ((f :+: g) p) x -> (f :+: g) p Исходный код

Generic ((f :*: g) p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

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

тип Rep ((f :*: g) p) :: Тип -> Тип Исходный код

Методы

from :: (f :*: g) p -> Rep ((f :*: g) p) x Исходный код

to :: Rep ((f :*: g) p) x -> (f :*: g) p Исходный код

Generic (a, b, c, d)

С момента: base-4.6.0.0

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

Определено в GHC.Generics

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

type Rep (a, b, c, d) :: Тип -> Тип Исходный код

Методы

from :: (a, b, c, d) -> Rep (a, b, c, d) x Исходный код

to :: Rep (a, b, c, d) x -> (a, b, c, d) Исходный код

Generic (Sum f g a)

С момента: base-4.9.0.0

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

Определено в Data.Functor.Sum

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

type Rep (Sum f g a) :: Тип -> Тип Исходный код

Методы

from :: Sum f g a -> Rep (Sum f g a) x Исходный код

to :: Rep (Sum f g a) x -> Sum f g a Исходный код

Generic (Product f g a)

С момента: base-4.9.0.0

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

Определено в Data.Functor.Product

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

type Rep (Product f g a) :: Тип -> Тип Исходный код

Методы

from :: Product f g a -> Rep (Product f g a) x Исходный код

to :: Rep (Product f g a) x -> Product f g a Исходный код

Generic (M1 i c f p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

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

type Rep (M1 i c f p) :: Тип -> Тип Исходный код

Методы

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 ((f :.: g) p)

С момента: base-4.7.0.0

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

Определено в GHC.Generics

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

type Rep ((f :.: g) p) :: Тип -> Тип Исходный код

Методы

from :: (f :.: g) p -> Rep ((f :.: g) p) x Исходный код

to :: Rep ((f :.: g) p) x -> (f :.: g) p Исходный код

Generic (a, b, c, d, e)

С момента: base-4.6.0.0

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

Определено в GHC.Generics

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

type Rep (a, b, c, d, e) :: Тип -> Тип Исходный код

Методы

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 (Compose f g a)

С момента: base-4.9.0.0

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

Определено в Data.Functor.Compose

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

тип Rep (Compose f g a) :: Тип -> Тип Исходный код

Методы

from :: Compose f g a -> Rep (Compose f g a) x Исходный код

to :: Rep (Compose f g a) x -> Compose f g a Исходный код

Generic (a, b, c, d, e, f)

С версии: base-4.6.0.0

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

Определено в GHC.Generics

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

тип Rep (a, b, c, d, e, f) :: Тип -> Тип Исходный код

Методы

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)

С версии: base-4.6.0.0

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

Определено в GHC.Generics

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

тип Rep (a, b, c, d, e, f, g) :: Тип -> Тип Исходный код

Методы

from :: (a, b, c, d, e, f, g) -> Rep (a, b, c, d, e, f, g) x Исходный код

to :: Rep (a, b, c, d, e, f, g) x -> (a, b, c, d, e, f, g) Исходный код

класс Generic1 (f :: k -> Тип) где Исходный код

Типы, представленные по типу * -> * (или по типу k -> *, когда PolyKinds включен). Этот класс можно вывести в GHC с флагом DeriveGeneric.

Экземпляр Generic1 должен удовлетворять следующим законам:

from1 . to1 ≡ id
to1 . from1 ≡ id

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

тип Rep1 f :: k -> Тип Исходный код

Тип представления Generic

Методы

from1 :: f a -> Rep1 f a Исходный код

Преобразование из типа данных в его представление

to1 :: Rep1 f a -> f a Исходный код

Преобразование из представления в тип данных

Экземпляры
Подробности экземпляров
Generic1 (V1 :: k -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 V1 :: k -> Type Source

Методы

from1 :: forall (a :: k0). V1 a -> Rep1 V1 a Source

to1 :: forall (a :: k0). Rep1 V1 a -> V1 a Source

Generic1 (U1 :: k -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 U1 :: k -> Type Source

Методы

from1 :: forall (a :: k0). U1 a -> Rep1 U1 a Source

to1 :: forall (a :: k0). Rep1 U1 a -> U1 a Source

Generic1 (Proxy :: k -> Type)

С версии: base-4.6.0.0

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

Определено в GHC.Generics

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

type Rep1 Proxy :: k -> Type Source

Методы

from1 :: forall (a :: k0). Proxy a -> Rep1 Proxy a Source

to1 :: forall (a :: k0). Rep1 Proxy a -> Proxy a Source

Generic1 (Rec1 f :: k -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (Rec1 f) :: k -> Type Source

Методы

from1 :: forall (a :: k0). Rec1 f a -> Rep1 (Rec1 f) a Source

to1 :: forall (a :: k0). Rep1 (Rec1 f) a -> Rec1 f a Source

Generic1 (URec Word :: k -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (URec Word) :: k -> Type Source

Методы

from1 :: forall (a :: k0). URec Word a -> Rep1 (URec Word) a Source

to1 :: forall (a :: k0). Rep1 (URec Word) a -> URec Word a Source

Generic1 (URec Int :: k -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (URec Int) :: k -> Type Source

Методы

from1 :: forall (a :: k0). URec Int a -> Rep1 (URec Int) a Source

to1 :: forall (a :: k0). Rep1 (URec Int) a -> URec Int a Source

Generic1 (URec Float :: k -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (URec Float) :: k -> Тип Исходный код

Методы

from1 :: forall (a :: k0). URec Float a -> Rep1 (URec Float) a Исходный код

to1 :: forall (a :: k0). Rep1 (URec Float) a -> URec Float a Исходный код

Generic1 (URec Double :: k -> Тип)

С: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (URec Double) :: k -> Тип Исходный код

Методы

from1 :: forall (a :: k0). URec Double a -> Rep1 (URec Double) a Исходный код

to1 :: forall (a :: k0). Rep1 (URec Double) a -> URec Double a Исходный код

Generic1 (URec Char :: k -> Тип)

С: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (URec Char) :: k -> Тип Исходный код

Методы

from1 :: forall (a :: k0). URec Char a -> Rep1 (URec Char) a Исходный код

to1 :: forall (a :: k0). Rep1 (URec Char) a -> URec Char a Исходный код

Generic1 (URec (Ptr ()) :: k -> Тип)

С: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (URec (Ptr ())) :: k -> Тип Исходный код

Методы

from1 :: forall (a :: k0). URec (Ptr ()) a -> Rep1 (URec (Ptr ())) a Исходный код

to1 :: forall (a :: k0). Rep1 (URec (Ptr ())) a -> URec (Ptr ()) a Исходный код

Generic1 (Alt f :: k -> Тип)

С: base-4.8.0.0

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

Определено в Data.Semigroup.Internal

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

type Rep1 (Alt f) :: k -> Тип Исходный код

Методы

from1 :: forall (a :: k0). Alt f a -> Rep1 (Alt f) a Исходный код

to1 :: forall (a :: k0). Rep1 (Alt f) a -> Alt f a Исходный код

Generic1 (Ap f :: k -> Тип)

С: base-4.12.0.0

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

Определено в Data.Monoid

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

type Rep1 (Ap f) :: k -> Тип Исходный код

Методы

from1 :: forall (a :: k0). Ap f a -> Rep1 (Ap f) a Исходный код

to1 :: forall (a :: k0). Rep1 (Ap f) a -> Ap f a Исходный код

Generic1 (Const a :: k -> Type)

Since: base-4.9.0.0

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

Определено в Data.Functor.Const

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

type Rep1 (Const a) :: k -> Type Source

Методы

from1 :: forall (a0 :: k0). Const a a0 -> Rep1 (Const a) a0 Source

to1 :: forall (a0 :: k0). Rep1 (Const a) a0 -> Const a a0 Source

Generic1 (K1 i c :: k -> Type)

Since: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (K1 i c) :: k -> Type Source

Методы

from1 :: forall (a :: k0). K1 i c a -> Rep1 (K1 i c) a Source

to1 :: forall (a :: k0). Rep1 (K1 i c) a -> K1 i c a Source

Generic1 (f :+: g :: k -> Type)

Since: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (f :+: g) :: k -> Type Source

Методы

from1 :: forall (a :: k0). (f :+: g) a -> Rep1 (f :+: g) a Source

to1 :: forall (a :: k0). Rep1 (f :+: g) a -> (f :+: g) a Source

Generic1 (f :*: g :: k -> Type)

Since: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (f :*: g) :: k -> Type Source

Методы

from1 :: forall (a :: k0). (f :*: g) a -> Rep1 (f :*: g) a Source

to1 :: forall (a :: k0). Rep1 (f :*: g) a -> (f :*: g) a Source

Generic1 (Sum f g :: k -> Type)

Since: base-4.9.0.0

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

Определено в Data.Functor.Sum

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

type Rep1 (Sum f g) :: k -> Type Source

Методы

from1 :: forall (a :: k0). Sum f g a -> Rep1 (Sum f g) a Source

to1 :: forall (a :: k0). Rep1 (Sum f g) a -> Sum f g a Source

Generic1 (Product f g :: k -> Type)

Since: base-4.9.0.0

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

Определено в Data.Functor.Product

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

type Rep1 (Product f g) :: k -> Type Source

Методы

from1 :: forall (a :: k0). Product f g a -> Rep1 (Product f g) a Source

to1 :: forall (a :: k0). Rep1 (Product f g) a -> Product f g a Source

Generic1 (M1 i c f :: k -> Type)

Since: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (M1 i c f) :: k -> Тип Исходный код

Методы

from1 :: forall (a :: k0). M1 i c f a -> Rep1 (M1 i c f) a Исходный код

to1 :: forall (a :: k0). Rep1 (M1 i c f) a -> M1 i c f a Исходный код

Functor f => Generic1 (f :.: g :: k -> Тип)

С момента: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (f :.: g) :: k -> Тип Исходный код

Методы

from1 :: forall (a :: k0). (f :.: g) a -> Rep1 (f :.: g) a Исходный код

to1 :: forall (a :: k0). Rep1 (f :.: g) a -> (f :.: g) a Исходный код

Functor f => Generic1 (Compose f g :: k -> Тип)

С момента: base-4.9.0.0

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

Определено в Data.Functor.Compose

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

type Rep1 (Compose f g) :: k -> Тип Исходный код

Методы

from1 :: forall (a :: k0). Compose f g a -> Rep1 (Compose f g) a Исходный код

to1 :: forall (a :: k0). Rep1 (Compose f g) a -> Compose f g a Исходный код

Generic1 []

С момента: base-4.6.0.0

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

Определено в GHC.Generics

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

type Rep1 [] :: k -> Тип Исходный код

Методы

from1 :: forall (a :: k). [a] -> Rep1 [] a Исходный код

to1 :: forall (a :: k). Rep1 [] a -> [a] Исходный код

Generic1 Maybe

С момента: base-4.6.0.0

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

Определено в GHC.Generics

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

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

Методы

from1 :: forall (a :: k). Maybe a -> Rep1 Maybe a Исходный код

to1 :: forall (a :: k). Rep1 Maybe a -> Maybe a Исходный код

Generic1 Par1

С момента: base-4.9.0.0

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

Определено в GHC.Generics

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

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

Методы

from1 :: forall (a :: k). Par1 a -> Rep1 Par1 a Исходный код

to1 :: forall (a :: k). Rep1 Par1 a -> Par1 a Исходный код

Generic1 NonEmpty

С момента: base-4.6.0.0

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

Определено в GHC.Generics

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

type Rep1 NonEmpty :: k -> Type Source

Методы

from1 :: forall (a :: k). NonEmpty a -> Rep1 NonEmpty a Source

to1 :: forall (a :: k). Rep1 NonEmpty a -> NonEmpty a Source

Generic1 Down

Since: base-4.12.0.0

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

Определено в GHC.Generics

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

type Rep1 Down :: k -> Type Source

Методы

from1 :: forall (a :: k). Down a -> Rep1 Down a Source

to1 :: forall (a :: k). Rep1 Down a -> Down a Source

Generic1 Product

Since: base-4.7.0.0

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

Определено в Data.Semigroup.Internal

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

type Rep1 Product :: k -> Type Source

Методы

from1 :: forall (a :: k). Product a -> Rep1 Product a Source

to1 :: forall (a :: k). Rep1 Product a -> Product a Source

Generic1 Sum

Since: base-4.7.0.0

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

Определено в Data.Semigroup.Internal

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

type Rep1 Sum :: k -> Type Source

Методы

from1 :: forall (a :: k). Sum a -> Rep1 Sum a Source

to1 :: forall (a :: k). Rep1 Sum a -> Sum a Source

Generic1 Dual

Since: base-4.7.0.0

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

Определено в Data.Semigroup.Internal

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

type Rep1 Dual :: k -> Type Source

Методы

from1 :: forall (a :: k). Dual a -> Rep1 Dual a Source

to1 :: forall (a :: k). Rep1 Dual a -> Dual a Source

Generic1 Last

Since: base-4.7.0.0

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

Определено в Data.Monoid

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

type Rep1 Last :: k -> Type Source

Методы

from1 :: forall (a :: k). Last a -> Rep1 Last a Source

to1 :: forall (a :: k). Rep1 Last a -> Last a Source

Generic1 First

Since: base-4.7.0.0

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

Определено в Data.Monoid

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

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

Методы

from1 :: forall (a :: k). First a -> Rep1 First a Исходный код

to1 :: forall (a :: k). Rep1 First a -> First a Исходный код

Generic1 Identity

С момента: base-4.8.0.0

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

Определено в Data.Functor.Identity

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

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

Методы

from1 :: forall (a :: k). Identity a -> Rep1 Identity a Исходный код

to1 :: forall (a :: k). Rep1 Identity a -> Identity a Исходный код

Generic1 ZipList

С момента: base-4.7.0.0

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

Определено в Control.Applicative

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

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

Методы

from1 :: forall (a :: k). ZipList a -> Rep1 ZipList a Исходный код

to1 :: forall (a :: k). Rep1 ZipList a -> ZipList a Исходный код

Generic1 Option

С момента: base-4.9.0.0

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

Определено в Data.Semigroup

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

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

Методы

from1 :: forall (a :: k). Option a -> Rep1 Option a Исходный код

to1 :: forall (a :: k). Rep1 Option a -> Option a Исходный код

Generic1 WrappedMonoid

С момента: base-4.9.0.0

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

Определено в Data.Semigroup

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

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

Методы

from1 :: forall (a :: k). WrappedMonoid a -> Rep1 WrappedMonoid a Исходный код

to1 :: forall (a :: k). Rep1 WrappedMonoid a -> WrappedMonoid a Исходный код

Generic1 Last

С момента: base-4.9.0.0

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

Определено в Data.Semigroup

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

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

Методы

from1 :: forall (a :: k). Last a -> Rep1 Last a Исходный код

to1 :: forall (a :: k). Rep1 Last a -> Last a Исходный код

Generic1 First

С момента: base-4.9.0.0

Информация о экземпляре

Определено в Data.Semigroup

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

type Rep1 First :: k -> Type Источник

Методы

from1 :: forall (a :: k). First a -> Rep1 First a Источник

to1 :: forall (a :: k). Rep1 First a -> First a Источник

Generic1 Max

С версии: base-4.9.0.0

Информация о экземпляре

Определено в Data.Semigroup

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

type Rep1 Max :: k -> Type Источник

Методы

from1 :: forall (a :: k). Max a -> Rep1 Max a Источник

to1 :: forall (a :: k). Rep1 Max a -> Max a Источник

Generic1 Min

С версии: base-4.9.0.0

Информация о экземпляре

Определено в Data.Semigroup

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

type Rep1 Min :: k -> Type Источник

Методы

from1 :: forall (a :: k). Min a -> Rep1 Min a Источник

to1 :: forall (a :: k). Rep1 Min a -> Min a Источник

Generic1 Complex

С версии: base-4.9.0.0

Информация о экземпляре

Определено в Data.Complex

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

type Rep1 Complex :: k -> Type Источник

Методы

from1 :: forall (a :: k). Complex a -> Rep1 Complex a Источник

to1 :: forall (a :: k). Rep1 Complex a -> Complex a Источник

Generic1 (Either a :: Type -> Type)

С версии: base-4.6.0.0

Информация о экземпляре

Определено в GHC.Generics

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

type Rep1 (Either a) :: k -> Type Источник

Методы

from1 :: forall (a0 :: k). Either a a0 -> Rep1 (Either a) a0 Источник

to1 :: forall (a0 :: k). Rep1 (Either a) a0 -> Either a a0 Источник

Generic1 ((,) a :: Type -> Type)

С версии: base-4.6.0.0

Информация о экземпляре

Определено в GHC.Generics

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

type Rep1 ((,) a) :: k -> Type Источник

Методы

from1 :: forall (a0 :: k). (a, a0) -> Rep1 ((,) a) a0 Источник

to1 :: forall (a0 :: k). Rep1 ((,) a) a0 -> (a, a0) Источник

Generic1 (WrappedMonad m :: Type -> Type)

С версии: base-4.7.0.0

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

Определено в Control.Applicative

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

тип Rep1 (WrappedMonad m) :: k -> Тип Исходный код

Методы

from1 :: forall (a :: k). WrappedMonad m a -> Rep1 (WrappedMonad m) a Исходный код

to1 :: forall (a :: k). Rep1 (WrappedMonad m) a -> WrappedMonad m a Исходный код

Generic1 (Arg a :: Тип -> Тип)

С момента: base-4.9.0.0

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

Определено в Data.Semigroup

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

тип Rep1 (Arg a) :: k -> Тип Исходный код

Методы

from1 :: forall (a0 :: k). Arg a a0 -> Rep1 (Arg a) a0 Исходный код

to1 :: forall (a0 :: k). Rep1 (Arg a) a0 -> Arg a a0 Исходный код

Generic1 ((,,) a b :: Тип -> Тип)

С момента: base-4.6.0.0

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

Определено в GHC.Generics

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

тип Rep1 ((,,) a b) :: k -> Тип Исходный код

Методы

from1 :: forall (a0 :: k). (a, b, a0) -> Rep1 ((,,) a b) a0 Исходный код

to1 :: forall (a0 :: k). Rep1 ((,,) a b) a0 -> (a, b, a0) Исходный код

Generic1 (Kleisli m a :: Тип -> Тип)

С момента: base-4.14.0.0

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

Определено в Control.Arrow

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

тип Rep1 (Kleisli m a) :: k -> Тип Исходный код

Методы

from1 :: forall (a0 :: k). Kleisli m a a0 -> Rep1 (Kleisli m a) a0 Исходный код

to1 :: forall (a0 :: k). Rep1 (Kleisli m a) a0 -> Kleisli m a a0 Исходный код

Generic1 (WrappedArrow a b :: Тип -> Тип)

С момента: base-4.7.0.0

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

Определено в Control.Applicative

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

тип Rep1 (WrappedArrow a b) :: k -> Тип Исходный код

Методы

from1 :: forall (a0 :: k). WrappedArrow a b a0 -> Rep1 (WrappedArrow a b) a0 Исходный код

to1 :: forall (a0 :: k). Rep1 (WrappedArrow a b) a0 -> WrappedArrow a b a0 Исходный код

Generic1 ((,,,) a b c :: Тип -> Тип)

С момента: base-4.6.0.0

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

Определено в GHC.Generics

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

тип Rep1 ((,,,) a b c) :: k -> Тип Исходный код

Методы

from1 :: forall (a0 :: k). (a, b, c, a0) -> Rep1 ((,,,) a b c) a0 Исходный код

to1 :: forall (a0 :: k). Rep1 ((,,,) a b c) a0 -> (a, b, c, a0) Исходный код

Generic1 ((,,,,) a b c d :: Тип -> Тип)

С момента: base-4.6.0.0

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

Определено в GHC.Generics

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

тип Rep1 ((,,,,) a b c d) :: k -> Тип Исходный код

Методы

from1 :: forall (a0 :: k). (a, b, c, d, a0) -> Rep1 ((,,,,) a b c d) a0 Исходный код

to1 :: forall (a0 :: k). Rep1 ((,,,,) a b c d) a0 -> (a, b, c, d, a0) Исходный код

Generic1 ((,,,,,) a b c d e :: Тип -> Тип)

С момента: base-4.6.0.0

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

Определено в GHC.Generics

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

тип Rep1 ((,,,,,) a b c d e) :: k -> Тип Исходный код

Методы

from1 :: forall (a0 :: k). (a, b, c, d, e, a0) -> Rep1 ((,,,,,) a b c d e) a0 Исходный код

to1 :: forall (a0 :: k). Rep1 ((,,,,,) a b c d e) a0 -> (a, b, c, d, e, a0) Исходный код

Generic1 ((,,,,,,) a b c d e f :: Тип -> Тип)

С момента: base-4.6.0.0

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

Определено в GHC.Generics

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

тип Rep1 ((,,,,,,) a b c d e f) :: k -> Тип Исходный код

Методы

from1 :: forall (a0 :: k). (a, b, c, d, e, f, a0) -> Rep1 ((,,,,,,) a b c d e f) a0 Исходный код

to1 :: forall (a0 :: k). Rep1 ((,,,,,,) a b c d e f) a0 -> (a, b, c, d, e, f, a0) Исходный код

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/base-4.14.1.0/GHC-Generics.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API