Spec-Zone.ru › Haskell 9

Data.Functor.Classes

Авторские права (c) Ross Paterson 2013
Лицензия BSD-стиль (см. файл LICENSE)
Поддержка libraries@haskell.org
Устойчивость стабильная
Переносимость переносимая
Безопасный Haskell Безопасный
Язык Haskell2010

Содержание

  • Подъёмы классов Prelude
    • Для унарных конструкторов
    • Для бинарных конструкторов
  • Вспомогательные функции
    • Устаревшие вспомогательные функции

Описание

Подъёмы классов Prelude Eq, Ord, Read и Show к унарным и бинарным конструкторам типов.

Эти классы необходимы для выражения ограничений на аргументы трансформаторов в переносимом Haskell. Таким образом, для нового трансформатора T, можно написать такие экземпляры

instance (Eq1 f) => Eq1 (T f) where ...
instance (Ord1 f) => Ord1 (T f) where ...
instance (Read1 f) => Read1 (T f) where ...
instance (Show1 f) => Show1 (T f) where ...

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

instance (Eq1 f, Eq a) => Eq (T f a) where (==) = eq1
instance (Ord1 f, Ord a) => Ord (T f a) where compare = compare1
instance (Read1 f, Read a) => Read (T f a) where
  readPrec     = readPrec1
  readListPrec = readListPrecDefault
instance (Show1 f, Show a) => Show (T f a) where showsPrec = showsPrec1

С версии: base-4.9.0.0

Подъёмы классов Prelude

Для унарных конструкторов

class (forall a. Eq a => Eq (f a)) => Eq1 (f :: Type -> Type) where Источник

Подъём класса Eq к унарным конструкторам типов.

Любой экземпляр должен подчиняться следующему закону, обеспечивающему сохранение каноничности:

liftEq (==) = (==)

Этот класс, следовательно, представляет обобщение Eq путём разложения его основного метода на канонический подъём над каноническим внутренним методом, так что подъём можно переиспользовать для других аргументов, отличных от канонического.

С версии: base-4.9.0.0

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

Ничего

Методы

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

Подъём проверки равенства через конструктор типа.

Функция обычно применяется к функции равенства, но более общий тип гарантирует, что реализация использует её для сравнения элементов первого контейнера с элементами второго.

С версии: base-4.9.0.0

default liftEq :: forall (f' :: Type -> Type -> Type) c a b. (f ~ f' c, Eq2 f', Eq c) => (a -> b -> Bool) -> f a -> f b -> Bool Источник

Экземпляры
Подробности об экземплярах
Eq1 Complex Источник
>>> eq1 (1 :+ 2) (1 :+ 2)
True
>>> eq1 (1 :+ 2) (1 :+ 3)
False

С версии: base-4.16.0.0

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

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

Методы

liftEq :: (a -> b -> Bool) -> Complex a -> Complex b -> Bool Источник

Eq1 NonEmpty Источник

С версии: base-4.10.0.0

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

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

Методы

liftEq :: (a -> b -> Bool) -> NonEmpty a -> NonEmpty b -> Bool Источник

Eq1 Identity Источник

С версии: base-4.9.0.0

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

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

Методы

liftEq :: (a -> b -> Bool) -> Identity a -> Identity b -> Bool Источник

Eq1 Down Источник

С версии: base-4.12.0.0

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

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

Методы

liftEq :: (a -> b -> Bool) -> Down a -> Down b -> Bool Источник

Eq1 Par1 Источник

С версии: base-4.21.0.0

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

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

Методы

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

Eq1 Maybe Источник

С версии: base-4.9.0.0

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

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

Методы

liftEq :: (a -> b -> Bool) -> Maybe a -> Maybe b -> Bool Источник

Eq1 Solo Источник

С версии: base-4.15

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

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

Методы

liftEq :: (a -> b -> Bool) -> Solo a -> Solo b -> Bool Источник

Eq1 [] Источник

С версии: base-4.9.0.0

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

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

Методы

liftEq :: (a -> b -> Bool) -> [a] -> [b] -> Bool Источник

Eq a => Eq1 (Either a) Источник

С версии: base-4.9.0.0

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

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

Методы

liftEq :: (a0 -> b -> Bool) -> Either a a0 -> Either a b -> Bool Источник

Eq1 (Proxy :: Type -> Type) Источник

С версии: base-4.9.0.0

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

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

Методы

liftEq :: (a -> b -> Bool) -> Proxy a -> Proxy b -> Bool Источник

Eq1 (U1 :: Type -> Type) Source

Since: base-4.21.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftEq :: (a -> b -> Bool) -> U1 a -> U1 b -> Bool Source

Eq1 (UAddr :: Type -> Type) Source

Since: base-4.21.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftEq :: (a -> b -> Bool) -> UAddr a -> UAddr b -> Bool Source

Eq1 (UChar :: Type -> Type) Source

Since: base-4.21.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftEq :: (a -> b -> Bool) -> UChar a -> UChar b -> Bool Source

Eq1 (UDouble :: Type -> Type) Source

Since: base-4.21.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftEq :: (a -> b -> Bool) -> UDouble a -> UDouble b -> Bool Source

Eq1 (UFloat :: Type -> Type) Source

Since: base-4.21.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftEq :: (a -> b -> Bool) -> UFloat a -> UFloat b -> Bool Source

Eq1 (UInt :: Type -> Type) Source

Since: base-4.21.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftEq :: (a -> b -> Bool) -> UInt a -> UInt b -> Bool Source

Eq1 (UWord :: Type -> Type) Source

Since: base-4.21.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftEq :: (a -> b -> Bool) -> UWord a -> UWord b -> Bool Source

Eq1 (V1 :: Type -> Type) Source

Since: base-4.21.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftEq :: (a -> b -> Bool) -> V1 a -> V1 b -> Bool Source

Eq a => Eq1 ((,) a) Source

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftEq :: (a0 -> b -> Bool) -> (a, a0) -> (a, b) -> Bool Source

Eq a => Eq1 (Const a :: Type -> Type) Source

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

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

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

Методы

liftEq :: (a0 -> b -> Bool) -> Const a a0 -> Const a b -> Bool Source

(Generic1 f, Eq1 (Rep1 f)) => Eq1 (Generically1 f) Source

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

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

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

Методы

liftEq :: (a -> b -> Bool) -> Generically1 f a -> Generically1 f b -> Bool Source

Eq1 f => Eq1 (Rec1 f) Source

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

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

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

Методы

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

(Eq a, Eq b) => Eq1 ((,,) a b) Source

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

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

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

Методы

liftEq :: (a0 -> b0 -> Bool) -> (a, b, a0) -> (a, b, b0) -> Bool Source

(Eq1 f, Eq1 g) => Eq1 (Product f g) Source

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

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

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

Методы

liftEq :: (a -> b -> Bool) -> Product f g a -> Product f g b -> Bool Source

(Eq1 f, Eq1 g) => Eq1 (Sum f g) Source

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

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

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

Методы

liftEq :: (a -> b -> Bool) -> Sum f g a -> Sum f g b -> Bool Source

(Eq1 f, Eq1 g) => Eq1 (f :*: g) Source

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

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

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

Методы

liftEq :: (a -> b -> Bool) -> (f :*: g) a -> (f :*: g) b -> Bool Source

(Eq1 f, Eq1 g) => Eq1 (f :+: g) Source

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

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

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

Методы

liftEq :: (a -> b -> Bool) -> (f :+: g) a -> (f :+: g) b -> Bool Source

Eq c => Eq1 (K1 i c :: Type -> Type) Source

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

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

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

Методы

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

(Eq a, Eq b, Eq c) => Eq1 ((,,,) a b c) Исходный код

С момента выпуска: base-4.16.0.0

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

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

Методы

liftEq :: (a0 -> b0 -> Bool) -> (a, b, c, a0) -> (a, b, c, b0) -> Bool Исходный код

(Eq1 f, Eq1 g) => Eq1 (Compose f g) Исходный код

С момента выпуска: base-4.9.0.0

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

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

Методы

liftEq :: (a -> b -> Bool) -> Compose f g a -> Compose f g b -> Bool Исходный код

(Eq1 f, Eq1 g) => Eq1 (f :.: g) Исходный код

С момента выпуска: base-4.21.0.0

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

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

Методы

liftEq :: (a -> b -> Bool) -> (f :.: g) a -> (f :.: g) b -> Bool Исходный код

Eq1 f => Eq1 (M1 i c f) Исходный код

С момента выпуска: base-4.21.0.0

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

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

Методы

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

eq1 :: (Eq1 f, Eq a) => f a -> f a -> Bool Исходный код

Поднимает стандартную (==) функцию через конструктор типа.

С момента выпуска: base-4.9.0.0

class (Eq1 f, forall a. Ord a => Ord (f a)) => Ord1 (f :: Type -> Type) where Исходный код

Поднятие класса Ord к унитарным конструкторам типов.

Любой экземпляр должен подчиняться следующему закону, гарантирующему сохранение каноничности:

liftCompare compare = compare

Этот класс, следовательно, представляет обобщение Ord путём декомпозиции его основного метода на каноническое поднятие канонического внутреннего метода, что позволяет повторно использовать поднятие для других аргументов, помимо канонического.

С момента выпуска: base-4.9.0.0

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

Ничего

Методы

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

Поднимает compare функцию через конструктор типа.

Функция обычно применяется к функции сравнения, но более общий тип гарантирует, что реализация использует ее для сравнения элементов первого контейнера с элементами второго.

С момента выпуска: base-4.9.0.0

default liftCompare :: forall (f' :: Type -> Type -> Type) c a b. (f ~ f' c, Ord2 f', Ord c) => (a -> b -> Ordering) -> f a -> f b -> Ordering Исходный код

Экземпляры
Подробности об экземплярах
Ord1 NonEmpty Источник

С версии: base-4.10.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> NonEmpty a -> NonEmpty b -> Ordering Источник

Ord1 Identity Источник

С версии: base-4.9.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> Identity a -> Identity b -> Ordering Источник

Ord1 Down Источник

С версии: base-4.12.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> Down a -> Down b -> Ordering Источник

Ord1 Par1 Источник

С версии: base-4.21.0.0

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

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

Методы

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

Ord1 Maybe Источник

С версии: base-4.9.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> Maybe a -> Maybe b -> Ordering Источник

Ord1 Solo Источник

С версии: base-4.15

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> Solo a -> Solo b -> Ordering Источник

Ord1 [] Источник

С версии: base-4.9.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> [a] -> [b] -> Ordering Источник

Ord a => Ord1 (Either a) Источник

С версии: base-4.9.0.0

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

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

Методы

liftCompare :: (a0 -> b -> Ordering) -> Either a a0 -> Either a b -> Ordering Источник

Ord1 (Proxy :: Type -> Type) Источник

С версии: base-4.9.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> Proxy a -> Proxy b -> Ordering Источник

Ord1 (U1 :: Type -> Type) Источник

С версии: base-4.21.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> U1 a -> U1 b -> Ordering Source

Ord1 (UAddr :: Type -> Type) Source

Since: base-4.21.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> UAddr a -> UAddr b -> Ordering Source

Ord1 (UChar :: Type -> Type) Source

Since: base-4.21.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> UChar a -> UChar b -> Ordering Source

Ord1 (UDouble :: Type -> Type) Source

Since: base-4.21.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> UDouble a -> UDouble b -> Ordering Source

Ord1 (UFloat :: Type -> Type) Source

Since: base-4.21.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> UFloat a -> UFloat b -> Ordering Source

Ord1 (UInt :: Type -> Type) Source

Since: base-4.21.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> UInt a -> UInt b -> Ordering Source

Ord1 (UWord :: Type -> Type) Source

Since: base-4.21.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> UWord a -> UWord b -> Ordering Source

Ord1 (V1 :: Type -> Type) Source

Since: base-4.21.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> V1 a -> V1 b -> Ordering Source

Ord a => Ord1 ((,) a) Source

Since: base-4.9.0.0

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

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

Методы

liftCompare :: (a0 -> b -> Ordering) -> (a, a0) -> (a, b) -> Ordering Source

Ord a => Ord1 (Const a :: Type -> Type) Source

Since: base-4.9.0.0

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

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

Методы

liftCompare :: (a0 -> b -> Ordering) -> Const a a0 -> Const a b -> Ordering Source

(Generic1 f, Ord1 (Rep1 f)) => Ord1 (Generically1 f) Source

Since: base-4.17.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> Generically1 f a -> Generically1 f b -> Ordering Source

Ord1 f => Ord1 (Rec1 f) Source

Since: base-4.21.0.0

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

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

Методы

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

(Ord a, Ord b) => Ord1 ((,,) a b) Source

Since: base-4.16.0.0

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

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

Методы

liftCompare :: (a0 -> b0 -> Ordering) -> (a, b, a0) -> (a, b, b0) -> Ordering Source

(Ord1 f, Ord1 g) => Ord1 (Product f g) Source

Since: base-4.9.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> Product f g a -> Product f g b -> Ordering Source

(Ord1 f, Ord1 g) => Ord1 (Sum f g) Source

Since: base-4.9.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> Sum f g a -> Sum f g b -> Ordering Source

(Ord1 f, Ord1 g) => Ord1 (f :*: g) Source

Since: base-4.21.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> (f :*: g) a -> (f :*: g) b -> Ordering Source

(Ord1 f, Ord1 g) => Ord1 (f :+: g) Source

Since: base-4.21.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> (f :+: g) a -> (f :+: g) b -> Ordering Source

Ord c => Ord1 (K1 i c :: Type -> Type) Source

Since: base-4.21.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> K1 i c a -> K1 i c b -> Ordering Source

(Ord a, Ord b, Ord c) => Ord1 ((,,,) a b c) Source

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

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

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

Методы

liftCompare :: (a0 -> b0 -> Порядок) -> (a, b, c, a0) -> (a, b, c, b0) -> Порядок Source

(Ord1 f, Ord1 g) => Ord1 (Compose f g) Source

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

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

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

Методы

liftCompare :: (a -> b -> Порядок) -> Compose f g a -> Compose f g b -> Порядок Source

(Ord1 f, Ord1 g) => Ord1 (f :.: g) Source

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

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

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

Методы

liftCompare :: (a -> b -> Порядок) -> (f :.: g) a -> (f :.: g) b -> Порядок Source

Ord1 f => Ord1 (M1 i c f) Source

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

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

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

Методы

liftCompare :: (a -> b -> Порядок) -> M1 i c f a -> M1 i c f b -> Порядок Source

compare1 :: (Ord1 f, Ord a) => f a -> f a -> Порядок Source

Поднять стандартную compare функцию через конструктор типа.

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

class (forall a. Read a => Read (f a)) => Read1 (f :: Тип -> Тип) where Source

Поднятие класса Read к унарным конструкторам типов.

Любой экземпляр должен подчиняться следующим законам, чтобы сохранялась каноничность:

liftReadsPrec readsPrec readList = readsPrec

liftReadList readsPrec readList = readList

liftReadPrec readPrec readListPrec = readPrec

liftReadListPrec readPrec readListPrec = readListPrec

Этот класс, таким образом, представляет обобщение Read путём разбиения его методов на каноническое поднятие на канонический внутренний метод, так что поднятие может быть повторно использовано для других аргументов, кроме канонического.

И liftReadsPrec, и liftReadPrec существуют для соответствия интерфейсу, предоставленному в классе типов Read, но рекомендуется реализовывать экземпляры Read1 с использованием liftReadPrec, а не liftReadsPrec, так как первое более эффективно, чем второе. Например:

instance Read1 T where
  liftReadPrec     = ...
  liftReadListPrec = liftReadListPrecDefault

Для получения дополнительной информации обратитесь к документации по классу Read.

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

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

liftReadsPrec | liftReadPrec

Методы

liftReadsPrec :: (Целое -> ReadS a) -> ReadS [a] -> Целое -> ReadS (f a) Source

Функция readsPrec для применения конструктора типа на основе функций readsPrec и readList для типа аргумента.

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

liftReadList :: (Целое -> ReadS a) -> ReadS [a] -> ReadS [f a] Source

Функция readList для применения конструктора типа на основе функций readsPrec и readList для типа аргумента. Реализация по умолчанию, использующая стандартный синтаксис списков, верна для большинства типов.

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

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (f a) Source

Функция readPrec для применения конструктора типа на основе функций readPrec и readListPrec для типа аргумента.

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

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [f a] Source

Функция readListPrec для применения конструктора типа на основе функций readPrec и readListPrec для типа аргумента.

Определение по умолчанию использует liftReadList. Экземпляры, которые определяют liftReadPrec, также должны определять liftReadListPrec как liftReadListPrecDefault.

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

Примеры
Подробности примеров
Read1 Complex Исходный код
>>> readPrec_to_S readPrec1 0 "(2 % 3) :+ (3 % 4)" :: [(Complex Rational, String)]
[(2 % 3 :+ 3 % 4,"")]

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

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Complex a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Complex a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Complex a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Complex a] Исходный код

Read1 NonEmpty Исходный код

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

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (NonEmpty a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [NonEmpty a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (NonEmpty a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [NonEmpty a] Исходный код

Read1 Identity Исходный код

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

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Identity a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Identity a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Identity a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Identity a] Исходный код

Read1 Down Исходный код

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

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Down a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Down a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Down a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Down a] Исходный код

Read1 Par1 Исходный код

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

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Par1 a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Par1 a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Par1 a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Par1 a] Исходный код

Read1 Maybe Исходный код

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

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Maybe a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Maybe a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Maybe a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Maybe a] Исходный код

Read1 Solo Исходный код

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

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Solo a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Solo a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Solo a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Solo a] Исходный код

Read1 [] Источник

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

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

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

Методы

liftReadsPrec :: (Целое число -> ReadS a) -> ReadS [a] -> Целое число -> ReadS [a] Источник

liftReadList :: (Целое число -> ReadS a) -> ReadS [a] -> ReadS [[a]] Источник

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [a] Источник

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [[a]] Источник

Read a => Read1 (Either a) Источник

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

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

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

Методы

liftReadsPrec :: (Целое число -> ReadS a0) -> ReadS [a0] -> Целое число -> ReadS (Either a a0) Источник

liftReadList :: (Целое число -> ReadS a0) -> ReadS [a0] -> ReadS [Either a a0] Источник

liftReadPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec (Either a a0) Источник

liftReadListPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec [Either a a0] Источник

Read1 (Proxy :: Тип -> Тип) Источник

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

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

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

Методы

liftReadsPrec :: (Целое число -> ReadS a) -> ReadS [a] -> Целое число -> ReadS (Proxy a) Источник

liftReadList :: (Целое число -> ReadS a) -> ReadS [a] -> ReadS [Proxy a] Источник

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Proxy a) Источник

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Proxy a] Источник

Read1 (U1 :: Тип -> Тип) Источник

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

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (U1 a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [U1 a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (U1 a) Исходный код

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

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

С тех пор: base-4.21.0.0

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (V1 a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [V1 a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (V1 a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [V1 a] Исходный код

Read a => Read1 ((,) a) Исходный код

С тех пор: base-4.9.0.0

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

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

Методы

liftReadsPrec :: (Int -> ReadS a0) -> ReadS [a0] -> Int -> ReadS (a, a0) Исходный код

liftReadList :: (Int -> ReadS a0) -> ReadS [a0] -> ReadS [(a, a0)] Исходный код

liftReadPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec (a, a0) Исходный код

liftReadListPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec [(a, a0)] Исходный код

Read a => Read1 (Const a :: Type -> Type) Исходный код

С тех пор: base-4.9.0.0

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

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

Методы

liftReadsPrec :: (Int -> ReadS a0) -> ReadS [a0] -> Int -> ReadS (Const a a0) Исходный код

liftReadList :: (Int -> ReadS a0) -> ReadS [a0] -> ReadS [Const a a0] Исходный код

liftReadPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec (Const a a0) Исходный код

liftReadListPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec [Const a a0] Исходный код

Read1 f => Read1 (Rec1 f) Исходный код

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

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Rec1 f a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Rec1 f a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Rec1 f a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Rec1 f a] Исходный код

(Read a, Read b) => Read1 ((,,) a b) Исходный код

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

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

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

Методы

liftReadsPrec :: (Int -> ReadS a0) -> ReadS [a0] -> Int -> ReadS (a, b, a0) Исходный код

liftReadList :: (Int -> ReadS a0) -> ReadS [a0] -> ReadS [(a, b, a0)] Исходный код

liftReadPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec (a, b, a0) Исходный код

liftReadListPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec [(a, b, a0)] Исходный код

(Read1 f, Read1 g) => Read1 (Product f g) Исходный код

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

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Product f g a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Product f g a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Product f g a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Product f g a] Исходный код

(Read1 f, Read1 g) => Read1 (Sum f g) Исходный код

С версии: base-4.9.0.0

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Sum f g a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Sum f g a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Sum f g a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Sum f g a] Исходный код

(Read1 f, Read1 g) => Read1 (f :*: g) Исходный код

С версии: base-4.21.0.0

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS ((f :*: g) a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [(f :*: g) a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec ((f :*: g) a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [(f :*: g) a] Исходный код

(Read1 f, Read1 g) => Read1 (f :+: g) Исходный код

С версии: base-4.21.0.0

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS ((f :+: g) a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [(f :+: g) a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec ((f :+: g) a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [(f :+: g) a] Исходный код

Read c => Read1 (K1 i c :: Type -> Type) Исходный код

С версии: base-4.21.0.0

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (K1 i c a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [K1 i c a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (K1 i c a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [K1 i c a] Исходный код

(Read a, Read b, Read c) => Read1 ((,,,) a b c) Исходный код

С версии: base-4.16.0.0

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

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

Методы

liftReadsPrec :: (Int -> ReadS a0) -> ReadS [a0] -> Int -> ReadS (a, b, c, a0) Исходный код

liftReadList :: (Int -> ReadS a0) -> ReadS [a0] -> ReadS [(a, b, c, a0)] Исходный код

liftReadPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec (a, b, c, a0) Исходный код

liftReadListPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec [(a, b, c, a0)] Исходный код

(Read1 f, Read1 g) => Read1 (Compose f g) Исходный код

С версии: base-4.9.0.0

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Compose f g a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Compose f g a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Compose f g a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Compose f g a] Исходный код

(Read1 f, Read1 g) => Read1 (f :.: g) Исходный код

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

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS ((f :.: g) a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [(f :.: g) a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec ((f :.: g) a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [(f :.: g) a] Исходный код

Read1 f => Read1 (M1 i c f) Исходный код

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

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

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

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (M1 i c f a) Исходный код

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [M1 i c f a] Исходный код

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (M1 i c f a) Исходный код

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [M1 i c f a] Исходный код

readsPrec1 :: (Read1 f, Read a) => Int -> ReadS (f a) Исходный код

Поднятие стандартных функций readsPrec и readList через конструктор типа.

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

readPrec1 :: (Read1 f, Read a) => ReadPrec (f a) Исходный код

Поднятие стандартных функций readPrec и readListPrec через конструктор типа.

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

liftReadListDefault :: Read1 f => (Int -> ReadS a) -> ReadS [a] -> ReadS [f a] Исходный код

Возможная замена определения метода liftReadList. Это необходимо только для экземпляров Read1, где liftReadListPrec не определен как liftReadListPrecDefault.

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

liftReadListPrecDefault :: Read1 f => ReadPrec a -> ReadPrec [a] -> ReadPrec [f a] Source

Возможная замена определения для метода liftReadListPrec, определённого с использованием liftReadPrec.

Since: base-4.10.0.0

class (forall a. Show a => Show (f a)) => Show1 (f :: Type -> Type) where Source

Поднятие класса Show к унарным конструкторам типов.

Любой экземпляр должен подчиняться следующим законам, чтобы была сохранена каноничность:

liftShowsPrec showsPrec showList = showsPrec

liftShowList showsPrec showList = showList

Этот класс, следовательно, представляет обобщение Show, разлагая его методы на каноническое поднятие канонического внутреннего метода, так что поднятие можно повторно использовать для других аргументов, помимо канонического.

Since: base-4.9.0.0

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

Nothing

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> f a -> ShowS Source

Функция showsPrec для применения конструктора типа на основе функций showsPrec и showList для типа аргумента.

Since: base-4.9.0.0

default liftShowsPrec :: forall (f' :: Type -> Type -> Type) b a. (f ~ f' b, Show2 f', Show b) => (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> f a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [f a] -> ShowS Source

Функция showList для применения конструктора типа на основе функций showsPrec и showList для типа аргумента. По умолчанию реализация, использующая стандартную синтаксическую конструкцию списков, правильна для большинства типов.

Since: base-4.9.0.0

Экземпляры
Подробности экземпляров
Show1 Complex Источник
>>> showsPrec1 0 (2 :+ 3) ""
"2 :+ 3"

С версии: base-4.16.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Complex a -> ShowS Источник

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Complex a] -> ShowS Источник

Show1 NonEmpty Источник

С версии: base-4.10.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> NonEmpty a -> ShowS Источник

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [NonEmpty a] -> ShowS Источник

Show1 Identity Источник

С версии: base-4.9.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Identity a -> ShowS Источник

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Identity a] -> ShowS Источник

Show1 Down Источник

С версии: base-4.12.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Down a -> ShowS Источник

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Down a] -> ShowS Источник

Show1 Par1 Источник

С версии: base-4.21.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Par1 a -> ShowS Источник

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Par1 a] -> ShowS Источник

Show1 Maybe Источник

С версии: base-4.9.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Maybe a -> ShowS Источник

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Maybe a] -> ShowS Источник

Show1 Solo Источник

С версии: base-4.15

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Solo a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Solo a] -> ShowS Source

Show1 [] Source

Since: base-4.9.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> [a] -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [[a]] -> ShowS Source

Show a => Show1 (Either a) Source

Since: base-4.9.0.0

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

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

Методы

liftShowsPrec :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> Int -> Either a a0 -> ShowS Source

liftShowList :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> [Either a a0] -> ShowS Source

Show1 (Proxy :: Type -> Type) Source

Since: base-4.9.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Proxy a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Proxy a] -> ShowS Source

Show1 (U1 :: Type -> Type) Source

Since: base-4.21.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> U1 a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [U1 a] -> ShowS Source

Show1 (UAddr :: Type -> Type) Source

Since: base-4.21.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UAddr a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UAddr a] -> ShowS Source

Show1 (UChar :: Type -> Type) Source

Since: base-4.21.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UChar a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UChar a] -> ShowS Source

Show1 (UDouble :: Type -> Type) Source

Since: base-4.21.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UDouble a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UDouble a] -> ShowS Source

Show1 (UFloat :: Type -> Type) Source

Since: base-4.21.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UFloat a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UFloat a] -> ShowS Source

Show1 (UInt :: Type -> Type) Source

Since: base-4.21.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UInt a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UInt a] -> ShowS Source

Show1 (UWord :: Type -> Type) Source

Since: base-4.21.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UWord a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UWord a] -> ShowS Source

Show1 (V1 :: Type -> Type) Source

Since: base-4.21.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> V1 a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [V1 a] -> ShowS Source

Show a => Show1 ((,) a) Source

Since: base-4.9.0.0

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

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

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

liftShowsPrec :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> Int -> (a, a0) -> ShowS Source

liftShowList :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> [(a, a0)] -> ShowS Source

Show a => Show1 (Const a :: Type -> Type) Source

Since: base-4.9.0.0

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

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

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

liftShowsPrec :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> Int -> Const a a0 -> ShowS Source

liftShowList :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> [Const a a0] -> ShowS Source

Show1 f => Show1 (Rec1 f) Source

Since: base-4.21.0.0

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

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

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

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Rec1 f a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Rec1 f a] -> ShowS Source

(Show a, Show b) => Show1 ((,,) a b) Source

Since: base-4.16.0.0

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

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

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

liftShowsPrec :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> Int -> (a, b, a0) -> ShowS Source

liftShowList :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> [(a, b, a0)] -> ShowS Source

(Show1 f, Show1 g) => Show1 (Product f g) Source

Since: base-4.9.0.0

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

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

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

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Product f g a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Product f g a] -> ShowS Source

(Show1 f, Show1 g) => Show1 (Sum f g) Source

Since: base-4.9.0.0

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

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

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

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Sum f g a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Sum f g a] -> ShowS Source

(Show1 f, Show1 g) => Show1 (f :*: g) Source

Since: base-4.21.0.0

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

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

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

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> (f :*: g) a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [(f :*: g) a] -> ShowS Source

(Show1 f, Show1 g) => Show1 (f :+: g) Source

Since: base-4.21.0.0

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

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

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

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> (f :+: g) a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [(f :+: g) a] -> ShowS Source

Show c => Show1 (K1 i c :: Type -> Type) Source

Since: base-4.21.0.0

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

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

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

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> K1 i c a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [K1 i c a] -> ShowS Source

(Show a, Show b, Show c) => Show1 ((,,,) a b c) Source

Since: base-4.16.0.0

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

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

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

liftShowsPrec :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> Int -> (a, b, c, a0) -> ShowS Source

liftShowList :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> [(a, b, c, a0)] -> ShowS Source

(Show1 f, Show1 g) => Show1 (Compose f g) Source

Since: base-4.9.0.0

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

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

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

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Compose f g a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Compose f g a] -> ShowS Source

(Show1 f, Show1 g) => Show1 (f :.: g) Source

Since: base-4.21.0.0

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

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

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

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> (f :.: g) a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [(f :.: g) a] -> ShowS Source

Show1 f => Show1 (M1 i c f) Source

Since: base-4.21.0.0

Instance details

Defined in Data.Functor.Classes

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> M1 i c f a -> ShowS Source

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [M1 i c f a] -> ShowS Source

showsPrec1 :: (Show1 f, Show a) => Int -> f a -> ShowS Source

Поднять стандартные showsPrec и showList функции через конструктор типа.

Since: base-4.9.0.0

Для бинарных конструкторов

class (forall a. Eq a => Eq1 (f a)) => Eq2 (f :: Type -> Type -> Type) where Source

Поднятие класса Eq к бинарным конструкторам типов.

Since: base-4.9.0.0

Методы

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> f a c -> f b d -> Bool Source

Поднять тесты на равенство через конструктор типа.

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

Since: base-4.9.0.0

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

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Classes

Методы

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> Either a c -> Either b d -> Bool Source

Eq2 (,) Source

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Classes

Методы

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> (a, c) -> (b, d) -> Bool Source

Eq2 (Const :: Type -> Type -> Type) Source

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Classes

Методы

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> Const a c -> Const b d -> Bool Source

Eq a => Eq2 ((,,) a) Source
>>> eq2 ('x', True, "str") ('x', True, "str")
True

Since: base-4.16.0.0

Instance details

Defined in Data.Functor.Classes

Методы

liftEq2 :: (a0 -> b -> Bool) -> (c -> d -> Bool) -> (a, a0, c) -> (a, b, d) -> Bool Source

(Eq a, Eq b) => Eq2 ((,,,) a b) Source
>>> eq2 ('x', True, "str", 2) ('x', True, "str", 2 :: Int)
True

Since: base-4.16.0.0

Instance details

Defined in Data.Functor.Classes

Методы

liftEq2 :: (a0 -> b0 -> Bool) -> (c -> d -> Bool) -> (a, b, a0, c) -> (a, b, b0, d) -> Bool Source

eq2 :: (Eq2 f, Eq a, Eq b) => f a b -> f a b -> Bool Source

Поднять стандартную (==) функцию через конструктор типа.

Since: base-4.9.0.0

class (Eq2 f, forall a. Ord a => Ord1 (f a)) => Ord2 (f :: Type -> Type -> Type) where Source

Поднятие класса Ord к бинарным конструкторам типов.

Since: base-4.9.0.0

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

liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> f a c -> f b d -> Ordering Source

Поднять функции compare через конструктор типа.

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

Since: base-4.9.0.0

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

Since: base-4.9.0.0

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

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

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

liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> Either a c -> Either b d -> Ordering Source

Ord2 (,) Source

Since: base-4.9.0.0

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

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

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

liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> (a, c) -> (b, d) -> Ordering Source

Ord2 (Const :: Type -> Type -> Type) Source

Since: base-4.9.0.0

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

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

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

liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> Const a c -> Const b d -> Ordering Source

Ord a => Ord2 ((,,) a) Source
>>> compare2 ('x', True, "aaa") ('x', True, "zzz")
LT

Since: base-4.16.0.0

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

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

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

liftCompare2 :: (a0 -> b -> Ordering) -> (c -> d -> Ordering) -> (a, a0, c) -> (a, b, d) -> Ordering Source

(Ord a, Ord b) => Ord2 ((,,,) a b) Source
>>> compare2 ('x', True, "str", 2) ('x', True, "str", 3 :: Int)
LT

Since: base-4.16.0.0

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

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

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

liftCompare2 :: (a0 -> b0 -> Ordering) -> (c -> d -> Ordering) -> (a, b, a0, c) -> (a, b, b0, d) -> Ordering Source

compare2 :: (Ord2 f, Ord a, Ord b) => f a b -> f a b -> Ordering Source

Поднять стандартную функцию compare через конструктор типа.

Since: base-4.9.0.0

class (forall a. Read a => Read1 (f a)) => Read2 (f :: Type -> Type -> Type) where Source

Поднятие класса Read к бинарным конструкторам типов.

И liftReadsPrec2 и liftReadPrec2 существуют, чтобы соответствовать интерфейсу, предоставляемому в классе типов Read, но рекомендуется реализовывать экземпляры Read2 с помощью liftReadPrec2, а не liftReadsPrec2, поскольку первый более эффективен, чем второй. Например:

instance Read2 T where
  liftReadPrec2     = ...
  liftReadListPrec2 = liftReadListPrec2Default

Для получения дополнительной информации обратитесь к документации по классу Read.

Since: base-4.9.0.0

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

liftReadsPrec2 | liftReadPrec2

Методы

liftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (f a b) Источник

readsPrec функция для применения конструктора типа, основанного на readsPrec и readList функциях для типов аргументов.

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

liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [f a b] Источник

readList функция для применения конструктора типа, основанного на readsPrec и readList функциях для типов аргументов. Реализация по умолчанию, использующая стандартную синтаксическую конструкцию списков, является корректной для большинства типов.

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

liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (f a b) Источник

readPrec функция для применения конструктора типа, основанного на readPrec и readListPrec функциях для типов аргументов.

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

liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [f a b] Источник

readListPrec функция для применения конструктора типа, основанного на readPrec и readListPrec функциях для типов аргументов.

Определение по умолчанию использует liftReadList2. Примеры, определяющие liftReadPrec2, должны также определять liftReadListPrec2 как liftReadListPrec2Default.

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

Примеры
Подробности экземпляров
Read2 Either Исходный код

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

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

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

Методы

liftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (Either a b) Исходный код

liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [Either a b] Исходный код

liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (Either a b) Исходный код

liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [Either a b] Исходный код

Read2 (,) Исходный код

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

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

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

Методы

liftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (a, b) Исходный код

liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [(a, b)] Исходный код

liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (a, b) Исходный код

liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [(a, b)] Исходный код

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

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

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

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

Методы

liftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (Const a b) Исходный код

liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [Const a b] Исходный код

liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (Const a b) Исходный код

liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [Const a b] Исходный код

Read a => Read2 ((,,) a) Source
>>> readPrec_to_S readPrec2 0 "('x', True, 2)" :: [((Char, Bool, Int), String)]
[(('x',True,2),"")]

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

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

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

Методы

liftReadsPrec2 :: (Целое -> ReadS a0) -> ReadS [a0] -> (Целое -> ReadS b) -> ReadS [b] -> Целое -> ReadS (a, a0, b) Source

liftReadList2 :: (Целое -> ReadS a0) -> ReadS [a0] -> (Целое -> ReadS b) -> ReadS [b] -> ReadS [(a, a0, b)] Source

liftReadPrec2 :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (a, a0, b) Source

liftReadListPrec2 :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [(a, a0, b)] Source

(Read a, Read b) => Read2 ((,,,) a b) Source
>>> readPrec_to_S readPrec2 0 "('x', True, 2, 4.5)" :: [((Char, Bool, Int, Double), String)]
[(('x',True,2,4.5),"")]

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

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

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

Методы

liftReadsPrec2 :: (Целое -> ReadS a0) -> ReadS [a0] -> (Целое -> ReadS b0) -> ReadS [b0] -> Целое -> ReadS (a, b, a0, b0) Source

liftReadList2 :: (Целое -> ReadS a0) -> ReadS [a0] -> (Целое -> ReadS b0) -> ReadS [b0] -> ReadS [(a, b, a0, b0)] Source

liftReadPrec2 :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec b0 -> ReadPrec [b0] -> ReadPrec (a, b, a0, b0) Source

liftReadListPrec2 :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec b0 -> ReadPrec [b0] -> ReadPrec [(a, b, a0, b0)] Source

readsPrec2 :: (Read2 f, Read a, Read b) => Целое -> ReadS (f a b) Source

Поднять стандартную readsPrec функцию через конструктор типа.

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

readPrec2 :: (Read2 f, Read a, Read b) => ReadPrec (f a b) Source

Поднять стандартную readPrec функцию через конструктор типа.

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

liftReadList2Default :: Read2 f => (Целое -> ReadS a) -> ReadS [a] -> (Целое -> ReadS b) -> ReadS [b] -> ReadS [f a b] Source

Возможная замена определения для liftReadList2 метода. Это необходимо только для Read2 экземпляров, где liftReadListPrec2 не определено как liftReadListPrec2Default.

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

liftReadListPrec2Default :: Read2 f => ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [f a b] Source

Возможная замена определения для liftReadListPrec2 метода, определенного с помощью liftReadPrec2.

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

class (forall a. Show a => Show1 (f a)) => Show2 (f :: Type -> Type -> Type) where Source

Поднятие класса Show к бинарным конструкторам типов.

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

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

liftShowsPrec2

Методы

liftShowsPrec2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> f a b -> ShowS Source

Функция для применения конструктора типа, основанная на функциях showsPrec и showList для типов аргументов.

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

liftShowList2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [f a b] -> ShowS Source

Функция для применения конструктора типа, основанная на функциях showsPrec и showList для типов аргументов. Реализация по умолчанию, использующая стандартную синтаксическую конструкцию списка, верна для большинства типов.

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

Экземпляры
Подробности о экземплярах
Show2 Either Источник

С версии: base-4.9.0.0

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

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

Методы

liftShowsPrec2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> Either a b -> ShowS Источник

liftShowList2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [Either a b] -> ShowS Источник

Show2 (,) Источник

С версии: base-4.9.0.0

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

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

Методы

liftShowsPrec2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> (a, b) -> ShowS Источник

liftShowList2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [(a, b)] -> ShowS Источник

Show2 (Const :: Type -> Type -> Type) Источник

С версии: base-4.9.0.0

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

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

Методы

liftShowsPrec2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> Const a b -> ShowS Источник

liftShowList2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [Const a b] -> ShowS Источник

Show a => Show2 ((,,) a) Источник
>>> showsPrec2 0 ('x', True, 2 :: Int) ""
"('x',True,2)"

С версии: base-4.16.0.0

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

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

Методы

liftShowsPrec2 :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> (a, a0, b) -> ShowS Источник

liftShowList2 :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [(a, a0, b)] -> ShowS Источник

(Show a, Show b) => Show2 ((,,,) a b) Источник
>>> showsPrec2 0 ('x', True, 2 :: Int, 4.5 :: Double) ""
"('x',True,2,4.5)"

С версии: base-4.16.0.0

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

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

Методы

liftShowsPrec2 :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> (Int -> b0 -> ShowS) -> ([b0] -> ShowS) -> Int -> (a, b, a0, b0) -> ShowS Источник

liftShowList2 :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> (Int -> b0 -> ShowS) -> ([b0] -> ShowS) -> [(a, b, a0, b0)] -> ShowS Источник

showsPrec2 :: (Show2 f, Show a, Show b) => Int -> f a b -> ShowS Source

Поднять стандартную функцию showsPrec через конструктор типа.

Since: base-4.9.0.0

Вспомогательные функции

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

data T f a = Zero a | One (f a) | Two a (f a)

стандартный экземпляр Read1 может быть определен как

instance (Read1 f) => Read1 (T f) where
    liftReadPrec rp rl = readData $
        readUnaryWith rp "Zero" Zero <|>
        readUnaryWith (liftReadPrec rp rl) "One" One <|>
        readBinaryWith rp (liftReadPrec rp rl) "Two" Two
    liftReadListPrec = liftReadListPrecDefault

и соответствующий экземпляр Show1 как

instance (Show1 f) => Show1 (T f) where
    liftShowsPrec sp _ d (Zero x) =
        showsUnaryWith sp "Zero" d x
    liftShowsPrec sp sl d (One x) =
        showsUnaryWith (liftShowsPrec sp sl) "One" d x
    liftShowsPrec sp sl d (Two x y) =
        showsBinaryWith sp (liftShowsPrec sp sl) "Two" d x y

readsData :: (String -> ReadS a) -> Int -> ReadS a Source

readsData p d является парсером для типов данных, где каждая альтернатива начинается с конструктора данных. Он разбирает конструктор и передает его p. Парсеры для различных конструкторов могут быть построены с помощью readsUnary, readsUnary1 и readsBinary1, и объединены с mappend из класса Monoid.

Since: base-4.9.0.0

readData :: ReadPrec a -> ReadPrec a Source

readData p является парсером для типов данных, где каждая альтернатива начинается с конструктора данных. Он разбирает конструктор и передает его p. Парсеры для различных конструкторов могут быть построены с помощью readUnaryWith и readBinaryWith, и объединены с (<|>) из класса Alternative.

Since: base-4.10.0.0

readsUnaryWith :: (Int -> ReadS a) -> String -> (a -> t) -> String -> ReadS t Source

readsUnaryWith rp n c n' соответствует имени унарного конструктора данных, а затем разбирает его аргумент с помощью rp.

Since: base-4.9.0.0

readUnaryWith :: ReadPrec a -> String -> (a -> t) -> ReadPrec t Source

readUnaryWith rp n c' соответствует имени унарного конструктора данных, а затем разбирает его аргумент с помощью rp.

Since: base-4.10.0.0

readsBinaryWith :: (Int -> ReadS a) -> (Int -> ReadS b) -> String -> (a -> b -> t) -> String -> ReadS t Source

readsBinaryWith rp1 rp2 n c n' соответствует имени бинарного конструктора данных, а затем разбирает его аргументы с помощью rp1 и rp2 соответственно.

Since: base-4.9.0.0

readBinaryWith :: ReadPrec a -> ReadPrec b -> String -> (a -> b -> t) -> ReadPrec t Source

readBinaryWith rp1 rp2 n c' соответствует имени бинарного конструктора данных, а затем разбирает его аргументы с помощью rp1 и rp2 соответственно.

Since: base-4.10.0.0

showsUnaryWith :: (Int -> a -> ShowS) -> String -> Int -> a -> ShowS Source

showsUnaryWith sp n d x создает строковое представление унарного конструктора данных с именем n и аргументом x, в контексте приоритета d.

Since: base-4.9.0.0

showsBinaryWith :: (Int -> a -> ShowS) -> (Int -> b -> ShowS) -> String -> Int -> a -> b -> ShowS Source

showsBinaryWith sp1 sp2 n d x y создает строковое представление бинарного конструктора данных с именем n и аргументами x и y, в контексте приоритета d.

Since: base-4.9.0.0

Устаревшие вспомогательные функции

readsUnary :: Read a => String -> (a -> t) -> String -> ReadS t Source

Deprecated: Use readsUnaryWith to define liftReadsPrec

readsUnary n c n' соответствует имени унарного конструктора данных, а затем разбирает его аргумент с помощью readsPrec.

Since: base-4.9.0.0

readsUnary1 :: (Read1 f, Read a) => String -> (f a -> t) -> String -> ReadS t Source

Deprecated: Use readsUnaryWith to define liftReadsPrec

readsUnary1 n c n' соответствует имени унарного конструктора данных, а затем разбирает его аргумент с помощью readsPrec1.

Since: base-4.9.0.0

readsBinary1 :: (Read1 f, Read1 g, Read a) => String -> (f a -> g a -> t) -> String -> ReadS t Source

Deprecated: Use readsBinaryWith to define liftReadsPrec

readsBinary1 n c n' соответствует имени бинарного конструктора данных, а затем разбирает его аргументы с помощью readsPrec1.

Since: base-4.9.0.0

showsUnary :: Show a => String -> Int -> a -> ShowS Source

Deprecated: Use showsUnaryWith to define liftShowsPrec

showsUnary n d x создает строковое представление унарного конструктора данных с именем n и аргументом x, в контексте приоритета d.

Since: base-4.9.0.0

showsUnary1 :: (Show1 f, Show a) => Строка -> Целое -> f a -> ShowS Исходный код

Устаревшее: Используйте showsUnaryWith для определения liftShowsPrec

showsUnary1 n d x генерирует строковое представление унарного конструктора данных с именем n и аргументом x, в контексте приоритета d.

С версии: base-4.9.0.0

showsBinary1 :: (Show1 f, Show1 g, Show a) => Строка -> Целое -> f a -> g a -> ShowS Исходный код

Устаревшее: Используйте showsBinaryWith для определения liftShowsPrec

showsBinary1 n d x y генерирует строковое представление бинарного конструктора данных с именем n и аргументами x и y, в контексте приоритета d.

С версии: base-4.9.0.0

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.12.1/docs/libraries/base-4.21.0.0-8e62/Data-Functor-Classes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API