Spec-Zone.ru › Haskell 9

Data.Functor.Classes

Авторское право (c) Ross Paterson 2013
Лицензия в стиле BSD (см. файл LICENSE)
Сопровождающий libraries@haskell.org
Стабильность стабильная
Переносимость переносимая
Безопасный Haskell Safe
Язык 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 Source

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

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

liftEq (==) = (==)

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

Начиная с: base-4.9.0.0

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

Nothing

Методы

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

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

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

Начиная с: 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 Source

Экземпляры
Подробности об экземплярах
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) Исходный код

С версии: base-4.21.0.0

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

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

Методы

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

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

С версии: base-4.21.0.0

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

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

Методы

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

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

С версии: base-4.21.0.0

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

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

Методы

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

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

С версии: base-4.21.0.0

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

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

Методы

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

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

С версии: base-4.21.0.0

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

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

Методы

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

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

С версии: base-4.21.0.0

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

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

Методы

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

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

С версии: base-4.21.0.0

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

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

Методы

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

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

С версии: base-4.21.0.0

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

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

Методы

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

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

С версии: base-4.9.0.0

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

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

Методы

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

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

С версии: base-4.9.0.0

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

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

Методы

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

(Generic1 f, Eq1 (Rep1 f)) => Eq1 (Generically1 f) Исходный код

С версии: base-4.17.0.0

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

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

Методы

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

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

С версии: base-4.21.0.0

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

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

Методы

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

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

С версии: base-4.16.0.0

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

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

Методы

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

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

С версии: base-4.9.0.0

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

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

Методы

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

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

С версии: base-4.9.0.0

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

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

Методы

liftEq :: (a -> b -> Bool) -> Sum f g a -> Sum 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 g) => Eq1 (f :+: g) Исходный код

Начиная с: base-4.21.0.0

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

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

Методы

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

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

Начиная с: 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

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

Nothing

Методы

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 Источник

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

Начиная с: base-4.21.0.0

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

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

Методы

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

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

Начиная с: base-4.21.0.0

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

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

Методы

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

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

Начиная с: base-4.21.0.0

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

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

Методы

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

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

Начиная с: base-4.21.0.0

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

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

Методы

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

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

Начиная с: base-4.21.0.0

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

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

Методы

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

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

Начиная с: base-4.21.0.0

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

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

Методы

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

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

Начиная с: base-4.21.0.0

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

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

Методы

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

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

Начиная с: base-4.9.0.0

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

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

Методы

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

Ord a => Ord1 (Const a :: Type -> Type) Источник

Начиная с: base-4.9.0.0

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

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

Методы

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

(Generic1 f, Ord1 (Rep1 f)) => Ord1 (Generically1 f) Источник

Начиная с: base-4.17.0.0

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

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

Методы

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

Ord1 f => Ord1 (Rec1 f) Источник

Начиная с: base-4.21.0.0

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

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

Методы

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

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

Начиная с: base-4.16.0.0

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

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

Методы

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

(Ord1 f, Ord1 g) => Ord1 (Product f g) Источник

Начиная с: base-4.9.0.0

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

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

Методы

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

(Ord1 f, Ord1 g) => Ord1 (Sum f g) Источник

Начиная с: base-4.9.0.0

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

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

Методы

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

(Ord1 f, Ord1 g) => Ord1 (f :*: g) Источник

Начиная с: base-4.21.0.0

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

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

Методы

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

(Ord1 f, Ord1 g) => Ord1 (f :+: g) Источник

Начиная с: base-4.21.0.0

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

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

Методы

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

Ord c => Ord1 (K1 i c :: Type -> Type) Источник

Начиная с: base-4.21.0.0

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

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

Методы

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

(Ord a, Ord b, Ord c) => Ord1 ((,,,) a b c) Источник

Начиная с: base-4.16.0.0

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

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

Методы

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

(Ord1 f, Ord1 g) => Ord1 (Compose f g) Источник

Начиная с: base-4.9.0.0

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

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

Методы

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

(Ord1 f, Ord1 g) => Ord1 (f :.: g) Источник

Начиная с: base-4.21.0.0

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

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

Методы

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

Ord1 f => Ord1 (M1 i c f) Источник

Начиная с: base-4.21.0.0

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

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

Методы

liftCompare :: (a -> b -> Ordering) -> M1 i c f a -> M1 i c f b -> Ordering Источник

compare1 :: (Ord1 f, Ord a) => f a -> f a -> Ordering Источник

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

Начиная с: base-4.9.0.0

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

Поднятие класса 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 :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (f a) Источник

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

Начиная с: base-4.9.0.0

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

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

Начиная с: base-4.9.0.0

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

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

Начиная с: base-4.10.0.0

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

Функция 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 :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS [a] Источник

liftReadList :: (Int -> 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 :: (Int -> ReadS a0) -> ReadS [a0] -> Int -> ReadS (Either a a0) Источник

liftReadList :: (Int -> 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 :: Type -> Type) Источник

Начиная с: base-4.9.0.0

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

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

Методы

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

liftReadList :: (Int -> 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 :: Type -> Type) Источник

Начиная с: 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] Источник

Возможное определение-замена для метода liftReadListPrec, заданное с помощью liftReadPrec.

Начиная с: base-4.10.0.0

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

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

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

liftShowsPrec showsPrec showList = showsPrec

liftShowList showsPrec showList = showList

Таким образом, этот класс представляет собой обобщение Show: его методы разлагаются на каноническое поднятие и канонический внутренний метод, благодаря чему поднятие можно повторно использовать с аргументами, отличными от канонического.

Начиная с: base-4.9.0.0

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

Nothing

Методы

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

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

Начиная с: 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 Источник

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

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

Начиная с: 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 Источник

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

Show1 [] Источник

Начиная с: base-4.9.0.0

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

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

Методы

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

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

Show a => Show1 (Either a) Источник

Начиная с: base-4.9.0.0

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

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

Методы

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

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

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

Начиная с: base-4.9.0.0

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

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

Методы

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

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

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

Начиная с: base-4.21.0.0

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

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

Методы

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

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

Show1 (UAddr :: Type -> Type) Источник

Начиная с: base-4.21.0.0

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

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

Методы

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

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

Show1 (UChar :: Type -> Type) Источник

Начиная с: base-4.21.0.0

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

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

Методы

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

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

Show1 (UDouble :: Type -> Type) Источник

Начиная с: base-4.21.0.0

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

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

Методы

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

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

Show1 (UFloat :: Type -> Type) Источник

Начиная с: base-4.21.0.0

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

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

Методы

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

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

Show1 (UInt :: Type -> Type) Источник

Начиная с: base-4.21.0.0

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

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

Методы

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

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

Show1 (UWord :: Type -> Type) Источник

Начиная с: base-4.21.0.0

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

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

Методы

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

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

Show1 (V1 :: Type -> Type) Источник

С версии: base-4.21.0.0

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

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

Методы

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

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

Show a => Show1 ((,) a) Источник

С версии: base-4.9.0.0

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

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

Методы

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

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

Show a => Show1 (Const a :: Type -> Type) Источник

С версии: base-4.9.0.0

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

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

Методы

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

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

Show1 f => Show1 (Rec1 f) Источник

С версии: base-4.21.0.0

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

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

Методы

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

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

(Show a, Show b) => Show1 ((,,) a b) Источник

С версии: base-4.16.0.0

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

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

Методы

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

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

(Show1 f, Show1 g) => Show1 (Product f g) Источник

С версии: base-4.9.0.0

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

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

Методы

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

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

(Show1 f, Show1 g) => Show1 (Sum f g) Источник

С версии: base-4.9.0.0

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

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

Методы

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

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

(Show1 f, Show1 g) => Show1 (f :*: g) Источник

С версии: base-4.21.0.0

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

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

Методы

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

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

(Show1 f, Show1 g) => Show1 (f :+: g) Источник

С версии: base-4.21.0.0

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

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

Методы

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

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

Show c => Show1 (K1 i c :: Type -> Type) Источник

С версии: base-4.21.0.0

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

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

Методы

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

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

(Show a, Show b, Show c) => Show1 ((,,,) a b c) Источник

С версии: base-4.16.0.0

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

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

Методы

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

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

(Show1 f, Show1 g) => Show1 (Compose f g) Источник

С версии: base-4.9.0.0

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

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

Методы

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

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

(Show1 f, Show1 g) => Show1 (f :.: g) Источник

С версии: base-4.21.0.0

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

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

Методы

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

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

Show1 f => Show1 (M1 i c f) Источник

С версии: base-4.21.0.0

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

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

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> M1 i c f a -> ShowS Источник

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [M1 i c f a] -> ShowS Источник

showsPrec1 :: (Show1 f, Show a) => Int -> f a -> ShowS Источник

Подъём стандартных функций showsPrec и showList через конструктор типов.

С версии: base-4.9.0.0

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

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

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

С версии: base-4.9.0.0

Методы

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> f a c -> f b d -> Bool Исходный код

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

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

Начиная с: base-4.9.0.0

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

Начиная с: base-4.9.0.0

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

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

Методы

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> Either a c -> Either b d -> Bool Исходный код

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

Начиная с: base-4.9.0.0

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

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

Методы

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> (a, c) -> (b, d) -> Bool Исходный код

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

Начиная с: base-4.9.0.0

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

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

Методы

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> Const a c -> Const b d -> Bool Исходный код

Eq a => Eq2 ((,,) a) Исходный код
>>> eq2 ('x', True, "str") ('x', True, "str")
True

Начиная с: base-4.16.0.0

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

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

Методы

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

(Eq a, Eq b) => Eq2 ((,,,) a b) Исходный код
>>> eq2 ('x', True, "str", 2) ('x', True, "str", 2 :: Int)
True

Начиная с: base-4.16.0.0

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

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

Методы

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

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

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

Начиная с: base-4.9.0.0

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

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

Начиная с: base-4.9.0.0

Методы

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

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

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

Начиная с: base-4.9.0.0

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

Начиная с: base-4.9.0.0

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

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

Методы

liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> Either a c -> Either b d -> Ordering Исходный код

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

Начиная с: base-4.9.0.0

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

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

Методы

liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> (a, c) -> (b, d) -> Ordering Исходный код

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

Начиная с: base-4.9.0.0

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

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

Методы

liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> Const a c -> Const b d -> Ordering Исходный код

Ord a => Ord2 ((,,) a) Исходный код
>>> compare2 ('x', True, "aaa") ('x', True, "zzz")
LT

Начиная с: base-4.16.0.0

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

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

Методы

liftCompare2 :: (a0 -> b -> Ordering) -> (c -> d -> Ordering) -> (a, a0, c) -> (a, b, d) -> Ordering Исходный код

(Ord a, Ord b) => Ord2 ((,,,) a b) Исходный код
>>> compare2 ('x', True, "str", 2) ('x', True, "str", 3 :: Int)
LT

Начиная с: base-4.16.0.0

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

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

Методы

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

compare2 :: (Ord2 f, Ord a, Ord b) => f a b -> f a b -> Ordering Исходный код

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

Начиная с: base-4.9.0.0

class (forall a. Read a => Read1 (f a)) => Read2 (f :: Type -> Type -> Type) where Исходный код

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

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

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

Дополнительные сведения см. в документации по классу Read.

Начиная с: 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) Исходный код
>>> readPrec_to_S readPrec2 0 "('x', True, 2)" :: [((Char, Bool, Int), String)]
[(('x',True,2),"")]

Начиная с: base-4.16.0.0

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

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

Методы

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

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

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

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

(Read a, Read b) => Read2 ((,,,) a b) Исходный код
>>> 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 :: (Int -> ReadS a0) -> ReadS [a0] -> (Int -> ReadS b0) -> ReadS [b0] -> Int -> ReadS (a, b, a0, b0) Исходный код

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

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

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

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

Подъём стандартной функции readsPrec через конструктор типа.

Начиная с: base-4.9.0.0

readPrec2 :: (Read2 f, Read a, Read b) => ReadPrec (f a b) Исходный код

Подъём стандартной функции readPrec через конструктор типа.

Начиная с: base-4.10.0.0

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

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

Начиная с: base-4.10.0.0

liftReadListPrec2Default :: Read2 f => ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [f a b] Исходный код

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

Начиная с: base-4.10.0.0

class (forall a. Show a => Show1 (f a)) => Show2 (f :: Type -> Type -> Type) where Исходный код

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

Начиная с: base-4.9.0.0

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

liftShowsPrec2

Методы

liftShowsPrec2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> f a b -> ShowS Исходный код

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

Начиная с: base-4.9.0.0

liftShowList2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [f a b] -> ShowS Исходный код

Функция showList для применения конструктора типа на основе функций 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 Источник

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

Начиная с: 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 Источник

readsData p d — это анализатор для типов данных, где каждый вариант начинается с конструктора данных. Он разбирает конструктор и передаёт его в p. Анализаторы для различных конструкторов можно создать с помощью readsUnary, readsUnary1 и readsBinary1, а затем объединить с помощью mappend из класса Monoid.

Начиная с: base-4.9.0.0

readData :: ReadPrec a -> ReadPrec a Источник

readData p — это анализатор для типов данных, где каждый вариант начинается с конструктора данных. Он разбирает конструктор и передаёт его в p. Анализаторы для различных конструкторов можно создать с помощью readUnaryWith и readBinaryWith, а затем объединить с помощью (<|>) из класса Alternative.

Начиная с: base-4.10.0.0

readsUnaryWith :: (Int -> ReadS a) -> String -> (a -> t) -> String -> ReadS t Источник

readsUnaryWith rp n c n' сопоставляет имя унарного конструктора данных, а затем разбирает его аргумент с помощью rp.

Начиная с: base-4.9.0.0

readUnaryWith :: ReadPrec a -> String -> (a -> t) -> ReadPrec t Источник

readUnaryWith rp n c' сопоставляет имя унарного конструктора данных, а затем разбирает его аргумент с помощью rp.

Начиная с: base-4.10.0.0

readsBinaryWith :: (Int -> ReadS a) -> (Int -> ReadS b) -> String -> (a -> b -> t) -> String -> ReadS t Источник

readsBinaryWith rp1 rp2 n c n' сопоставляет имя бинарного конструктора данных, а затем разбирает его аргументы с помощью соответственно rp1 и rp2.

Начиная с: base-4.9.0.0

readBinaryWith :: ReadPrec a -> ReadPrec b -> String -> (a -> b -> t) -> ReadPrec t Источник

readBinaryWith rp1 rp2 n c' сопоставляет имя бинарного конструктора данных, а затем разбирает его аргументы с помощью соответственно rp1 и rp2.

Начиная с: base-4.10.0.0

showsUnaryWith :: (Int -> a -> ShowS) -> String -> Int -> a -> ShowS Источник

showsUnaryWith sp n d x формирует строковое представление унарного конструктора данных с именем n и аргументом x в контексте приоритета d.

Начиная с: base-4.9.0.0

showsBinaryWith :: (Int -> a -> ShowS) -> (Int -> b -> ShowS) -> String -> Int -> a -> b -> ShowS Источник

showsBinaryWith sp1 sp2 n d x y формирует строковое представление бинарного конструктора данных с именем n и аргументами x и y в контексте приоритета d.

Начиная с: base-4.9.0.0

Устаревшие вспомогательные функции

readsUnary :: Read a => String -> (a -> t) -> String -> ReadS t Источник

Устарело: используйте readsUnaryWith для определения liftReadsPrec

readsUnary n c n' сопоставляет имя унарного конструктора данных, а затем разбирает его аргумент с помощью readsPrec.

Начиная с: base-4.9.0.0

readsUnary1 :: (Read1 f, Read a) => String -> (f a -> t) -> String -> ReadS t Источник

Устарело: используйте readsUnaryWith для определения liftReadsPrec

readsUnary1 n c n' сопоставляет имя унарного конструктора данных, а затем разбирает его аргумент с помощью readsPrec1.

Начиная с: base-4.9.0.0

readsBinary1 :: (Read1 f, Read1 g, Read a) => String -> (f a -> g a -> t) -> String -> ReadS t Источник

Устарело: используйте readsBinaryWith для определения liftReadsPrec

readsBinary1 n c n' сопоставляет имя бинарного конструктора данных, а затем разбирает его аргументы с помощью readsPrec1.

Начиная с: base-4.9.0.0

showsUnary :: Show a => String -> Int -> a -> ShowS Источник

Устарело: используйте showsUnaryWith для определения liftShowsPrec

showsUnary n d x формирует строковое представление унарного конструктора данных с именем n и аргументом x в контексте приоритета d.

Начиная с: base-4.9.0.0

showsUnary1 :: (Show1 f, Show a) => String -> Int -> f a -> ShowS Источник

Устарело: используйте showsUnaryWith для определения liftShowsPrec

showsUnary1 n d x формирует строковое представление унарного конструктора данных с именем n и аргументом x в контексте приоритета d.

Начиная с: base-4.9.0.0

showsBinary1 :: (Show1 f, Show1 g, Show a) => String -> Int -> 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.14.1/docs/libraries/base-4.22.0.0-66f8/Data-Functor-Classes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API