Spec-Zone.ru › Haskell 9

Data.Monoid

Авторские права (c) Andy Gill 2001
(c) Oregon Graduate Institute of Science and Technology 2001
Лицензия в стиле BSD (см. файл libraries/base/LICENSE)
Сопровождающий libraries@haskell.org
Стабильность стабильный
Переносимость переносимый
Безопасный Haskell Безопасный
Язык Haskell2010

Содержание

  • Monoid класс типов
  • Bool обёртки
  • Num обёртки
  • Maybe обёртки
  • Alternative обёртка
  • Applicative обёртка

Описание

Тип a является Monoid, если он предоставляет ассоциативную функцию (<>), позволяющую объединить любые два значения типа a в одно, а также нейтральный элемент (mempty), такой что

a <> mempty == mempty <> a == a

Monoid — это Semigroup с дополнительным требованием наличия нейтрального элемента. Таким образом, любой Monoid является Semigroup, но не наоборот.

Примеры
Развернуть

Моноид Sum определяется оператором сложения чисел и `0` в качестве нейтрального элемента:

>>> import Data.Int
>>> mempty :: Sum Int
Sum {getSum = 0}
>>> Sum 1 <> Sum 2 <> Sum 3 <> Sum 4 :: Sum Int
Sum {getSum = 10}

С помощью функции mconcat можно объединить несколько значений списка в одно значение. Обратите внимание, что здесь необходимо указать тип, поскольку Int является моноидом относительно нескольких различных операций:

>>> mconcat [1,2,3,4] :: Sum Int
Sum {getSum = 10}
>>> mconcat [] :: Sum Int
Sum {getSum = 0}

Другим допустимым экземпляром моноида для Int является Product. Он определяется умножением и `1` в качестве нейтрального элемента:

>>> Product 1 <> Product 2 <> Product 3 <> Product 4 :: Product Int
Product {getProduct = 24}
>>> mconcat [1,2,3,4] :: Product Int
Product {getProduct = 24}
>>> mconcat [] :: Product Int
Product {getProduct = 1}

Класс типов Monoid

class Semigroup a => Monoid a where Исходный код

Класс моноидов (типов с ассоциативной бинарной операцией, имеющей нейтральный элемент). Экземпляры должны удовлетворять следующим законам:

Правый нейтральный элемент
x <> mempty = x
Левый нейтральный элемент
mempty <> x = x
Ассоциативность
x <> (y <> z) = (x <> y) <> z (закон Semigroup)
Конкатенация
mconcat = foldr (<>) mempty

Вместо mempty можно определить mconcat; в этом случае действуют следующие законы:

Единица
mconcat (pure x) = x
Умножение
mconcat (join xss) = mconcat (fmap mconcat xss)
Подкласс
mconcat (toList xs) = sconcat xs

Названия методов отсылают к моноиду списков с конкатенацией, однако существует множество других экземпляров.

Некоторые типы можно рассматривать как моноид несколькими способами, например, используя сложение и умножение чисел. В таких случаях мы часто определяем newtypeы и делаем их экземплярами Monoid, например Sum и Product.

ПРИМЕЧАНИЕ: Semigroup является суперклассом Monoid начиная с base-4.11.0.0.

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

mempty | mconcat

Методы

mempty :: a Исходный код

Нейтральный элемент для mappend

Примеры
Развернуть
>>> "Hello world" <> mempty
"Hello world"
>>> mempty <> [1, 2, 3]
[1,2,3]

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

Ассоциативная операция

ПРИМЕЧАНИЕ: Этот метод избыточен и начиная с base-4.11.0.0 имеет реализацию по умолчанию mappend = (<>). Если метод реализуется вручную, поскольку mappend является синонимом (<>), ожидается, что обе функции будут определены одинаково. В одном из будущих выпусков GHC mappend будет удалён из Monoid.

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

Свёртка списка с использованием моноида.

Для большинства типов будет использоваться определение mconcat по умолчанию, однако эта функция включена в определение класса, чтобы для конкретных типов можно было предоставить оптимизированную версию.

>>> mconcat ["Hello", " ", "Haskell", "!"]
"Hello Haskell!"
Экземпляры
Сведения об экземплярах
Monoid ByteArray Источник

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

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

Определён в Data.Array.Byte

Методы

mempty :: ByteArray Источник

mappend :: ByteArray -> ByteArray -> ByteArray Источник

mconcat :: [ByteArray] -> ByteArray Источник

Monoid All Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

mempty :: All Источник

mappend :: All -> All -> All Источник

mconcat :: [All] -> All Источник

Monoid Any Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

mempty :: Any Источник

mappend :: Any -> Any -> Any Источник

mconcat :: [Any] -> Any Источник

Monoid Event Источник

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

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

Определён в GHC.Internal.Event.Internal.Types

Методы

mempty :: Event Источник

mappend :: Event -> Event -> Event Источник

mconcat :: [Event] -> Event Источник

Monoid EventLifetime Источник

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

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

Определён в GHC.Internal.Event.Internal.Types

Методы

mempty :: EventLifetime Источник

mappend :: EventLifetime -> EventLifetime -> EventLifetime Источник

mconcat :: [EventLifetime] -> EventLifetime Источник

Monoid Lifetime Источник

mappend выбирает более длительный из двух сроков жизни.

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

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

Определён в GHC.Internal.Event.Internal.Types

Методы

mempty :: Lifetime Источник

mappend :: Lifetime -> Lifetime -> Lifetime Источник

mconcat :: [Lifetime] -> Lifetime Источник

Monoid ExceptionContext Источник
Сведения об экземпляре

Определён в GHC.Internal.Exception.Context

Методы

mempty :: ExceptionContext Источник

mappend :: ExceptionContext -> ExceptionContext -> ExceptionContext Источник

mconcat :: [ExceptionContext] -> ExceptionContext Источник

Monoid Ordering Источник

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

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

Определён в GHC.Internal.Base

Методы

mempty :: Ordering Источник

mappend :: Ordering -> Ordering -> Ordering Источник

mconcat :: [Ordering] -> Ordering Источник

Monoid () Источник

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

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

Определён в GHC.Internal.Base

Методы

mempty :: () Источник

mappend :: () -> () -> () Источник

mconcat :: [()] -> () Источник

Monoid (Comparison a) Источник

mempty для сравнений всегда возвращает EQ. Без newtype это эквивалентно pure (pure EQ).

mempty :: Comparison a
mempty = Comparison _ _ -> EQ
Сведения об экземпляре

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

Методы

mempty :: Comparison a Источник

mappend :: Comparison a -> Comparison a -> Comparison a Источник

mconcat :: [Comparison a] -> Comparison a Источник

Monoid (Equivalence a) Источник

mempty для эквивалентностей всегда возвращает True. Без newtype это эквивалентно pure (pure True).

mempty :: Equivalence a
mempty = Equivalence _ _ -> True
Сведения об экземпляре

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

Методы

mempty :: Equivalence a Источник

mappend :: Equivalence a -> Equivalence a -> Equivalence a Источник

mconcat :: [Equivalence a] -> Equivalence a Источник

Monoid (Predicate a) Источник

mempty для предикатов всегда возвращает True. Без newtype это эквивалентно pure True.

mempty :: Predicate a
mempty = _ -> True
Сведения об экземпляре

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

Методы

mempty :: Predicate a Источник

mappend :: Predicate a -> Predicate a -> Predicate a Источник

mconcat :: [Predicate a] -> Predicate a Источник

(Ord a, Bounded a) => Monoid (Max a) Источник

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

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

Определён в Data.Semigroup

Методы

mempty :: Max a Источник

mappend :: Max a -> Max a -> Max a Источник

mconcat :: [Max a] -> Max a Источник

(Ord a, Bounded a) => Monoid (Min a) Источник

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

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

Определён в Data.Semigroup

Методы

mempty :: Min a Источник

mappend :: Min a -> Min a -> Min a Источник

mconcat :: [Min a] -> Min a Источник

Monoid m => Monoid (WrappedMonoid m) Источник

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

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

Определён в Data.Semigroup

Методы

mempty :: WrappedMonoid m Источник

mappend :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m Источник

mconcat :: [WrappedMonoid m] -> WrappedMonoid m Источник

Monoid a => Monoid (STM a) Источник

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

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

Определён в GHC.Internal.Conc.Sync

Методы

mempty :: STM a Источник

mappend :: STM a -> STM a -> STM a Источник

mconcat :: [STM a] -> STM a Источник

FiniteBits a => Monoid (And a) Источник

Это ограничение можно считать излишне строгим. Однако, поскольку для некоторых типов (например, Natural) значение complement не определено, это единственный безопасный вариант.

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

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

Определён в GHC.Internal.Data.Bits

Методы

mempty :: And a Источник

mappend :: And a -> And a -> And a Источник

mconcat :: [And a] -> And a Источник

FiniteBits a => Monoid (Iff a) Исходный код

Это ограничение, пожалуй, слишком сильное. Однако, поскольку для некоторых типов (например, Natural) значение complement не определено, это единственный безопасный выбор.

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

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

Определено в GHC.Internal.Data.Bits

Методы

mempty :: Iff a Исходный код

mappend :: Iff a -> Iff a -> Iff a Исходный код

mconcat :: [Iff a] -> Iff a Исходный код

Bits a => Monoid (Ior a) Исходный код

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

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

Определено в GHC.Internal.Data.Bits

Методы

mempty :: Ior a Исходный код

mappend :: Ior a -> Ior a -> Ior a Исходный код

mconcat :: [Ior a] -> Ior a Исходный код

Bits a => Monoid (Xor a) Исходный код

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

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

Определено в GHC.Internal.Data.Bits

Методы

mempty :: Xor a Исходный код

mappend :: Xor a -> Xor a -> Xor a Исходный код

mconcat :: [Xor a] -> Xor a Исходный код

Monoid a => Monoid (Identity a) Исходный код

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

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

Определено в GHC.Internal.Data.Functor.Identity

Методы

mempty :: Identity a Исходный код

mappend :: Identity a -> Identity a -> Identity a Исходный код

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

Ord a => Monoid (Max a) Исходный код

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

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

Определено в GHC.Internal.Data.Functor.Utils

Методы

mempty :: Max a Исходный код

mappend :: Max a -> Max a -> Max a Исходный код

mconcat :: [Max a] -> Max a Исходный код

Ord a => Monoid (Min a) Исходный код

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

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

Определено в GHC.Internal.Data.Functor.Utils

Методы

mempty :: Min a Исходный код

mappend :: Min a -> Min a -> Min a Исходный код

mconcat :: [Min a] -> Min a Исходный код

Monoid (First a) Исходный код

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

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

Определено в GHC.Internal.Data.Monoid

Методы

mempty :: First a Исходный код

mappend :: First a -> First a -> First a Исходный код

mconcat :: [First a] -> First a Исходный код

Monoid (Last a) Исходный код

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

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

Определено в GHC.Internal.Data.Monoid

Методы

mempty :: Last a Исходный код

mappend :: Last a -> Last a -> Last a Исходный код

mconcat :: [Last a] -> Last a Исходный код

Monoid a => Monoid (Down a) Исходный код

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

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

Определено в GHC.Internal.Data.Ord

Методы

mempty :: Down a Исходный код

mappend :: Down a -> Down a -> Down a Исходный код

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

Monoid a => Monoid (Dual a) Исходный код

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

mempty :: Dual a Исходный код

mappend :: Dual a -> Dual a -> Dual a Исходный код

mconcat :: [Dual a] -> Dual a Исходный код

Monoid (Endo a) Исходный код

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

mempty :: Endo a Исходный код

mappend :: Endo a -> Endo a -> Endo a Исходный код

mconcat :: [Endo a] -> Endo a Исходный код

Num a => Monoid (Product a) Исходный код

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

mempty :: Product a Исходный код

mappend :: Product a -> Product a -> Product a Исходный код

mconcat :: [Product a] -> Product a Исходный код

Num a => Monoid (Sum a) Исходный код

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

mempty :: Sum a Исходный код

mappend :: Sum a -> Sum a -> Sum a Исходный код

mconcat :: [Sum a] -> Sum a Исходный код

(Generic a, Monoid (Rep a ())) => Monoid (Generically a) Исходный код

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

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

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

Методы

mempty :: Generically a Исходный код

mappend :: Generically a -> Generically a -> Generically a Исходный код

mconcat :: [Generically a] -> Generically a Исходный код

Monoid p => Monoid (Par1 p) Исходный код

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

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

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

Методы

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

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

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

Monoid a => Monoid (Q a) Исходный код

Начиная с: ghc-internal-2.17.0.0

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

Определён в GHC.Internal.TH.Syntax

Методы

mempty :: Q a Исходный код

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

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

Monoid a => Monoid (IO a) Исходный код

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

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

Определён в GHC.Internal.Base

Методы

mempty :: IO a Исходный код

mappend :: IO a -> IO a -> IO a Исходный код

mconcat :: [IO a] -> IO a Исходный код

Semigroup a => Monoid (Maybe a) Исходный код

Поднимите полугруппу в Maybe, образовав Monoid согласно http://en.wikipedia.org/wiki/Monoid: «Любую полугруппу S можно превратить в моноид, просто добавив элемент e, не принадлежащий S, и определив e*e = e и e*s = s = s*e для всех s ∈ S».

Начиная с 4.11.0: ограничение на внутреннее значение a обобщено с Monoid до Semigroup.

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

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

Определён в GHC.Internal.Base

Методы

mempty :: Maybe a Исходный код

mappend :: Maybe a -> Maybe a -> Maybe a Исходный код

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

Monoid a => Monoid (Solo a) Исходный код

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

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

Определён в GHC.Internal.Base

Методы

mempty :: Solo a Исходный код

mappend :: Solo a -> Solo a -> Solo a Исходный код

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

Monoid [a] Исходный код

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

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

Определён в GHC.Internal.Base

Методы

mempty :: [a] Исходный код

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

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

Monoid a => Monoid (Op a b) Исходный код

mempty @(Op a b) без newtype — это mempty @(b->a) = _ -> mempty.

mempty :: Op a b
mempty = Op _ -> mempty
Подробности экземпляра

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

Методы

mempty :: Op a b Исходный код

mappend :: Op a b -> Op a b -> Op a b Исходный код

mconcat :: [Op a b] -> Op a b Исходный код

Monoid (Proxy s) Исходный код

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

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

Определён в GHC.Internal.Data.Proxy

Методы

mempty :: Proxy s Исходный код

mappend :: Proxy s -> Proxy s -> Proxy s Исходный код

mconcat :: [Proxy s] -> Proxy s Исходный код

Monoid (U1 p) Исходный код

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

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

Определён в GHC.Internal.Generics

Методы

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

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

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

Monoid a => Monoid (ST s a) Исходный код

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

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

Определён в GHC.Internal.ST

Методы

mempty :: ST s a Исходный код

mappend :: ST s a -> ST s a -> ST s a Исходный код

mconcat :: [ST s a] -> ST s a Исходный код

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

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

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

Определён в GHC.Internal.Base

Методы

mempty :: (a, b) Исходный код

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

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

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

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

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

Определён в GHC.Internal.Base

Методы

mempty :: a -> b Исходный код

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

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

Monoid a => Monoid (Const a b) Исходный код

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

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

Определён в GHC.Internal.Data.Functor.Const

Методы

mempty :: Const a b Исходный код

mappend :: Const a b -> Const a b -> Const a b Исходный код

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

(Applicative f, Monoid a) => Monoid (Ap f a) Исходный код

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

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

Определён в GHC.Internal.Data.Monoid

Методы

mempty :: Ap f a Исходный код

mappend :: Ap f a -> Ap f a -> Ap f a Исходный код

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

Alternative f => Monoid (Alt f a) Исходный код

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

mempty :: Alt f a Исходный код

mappend :: Alt f a -> Alt f a -> Alt f a Исходный код

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

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

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

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

Определён в GHC.Internal.Generics

Методы

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

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

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

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

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

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

Определён в GHC.Internal.Base

Методы

mempty :: (a, b, c) Исходный код

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

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

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

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

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

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

Методы

mempty :: Product f g a Исходный код

mappend :: Product f g a -> Product f g a -> Product f g a Исходный код

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

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

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

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

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

Методы

mempty :: (f :*: g) p Источник

mappend :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p Источник

mconcat :: [(f :*: g) p] -> (f :*: g) p Источник

Monoid c => Monoid (K1 i c p) Источник

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

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

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

Методы

mempty :: K1 i c p Источник

mappend :: K1 i c p -> K1 i c p -> K1 i c p Источник

mconcat :: [K1 i c p] -> K1 i c p Источник

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

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

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

Определено в GHC.Internal.Base

Методы

mempty :: (a, b, c, d) Источник

mappend :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) Источник

mconcat :: [(a, b, c, d)] -> (a, b, c, d) Источник

Monoid (f (g a)) => Monoid (Compose f g a) Источник

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

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

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

Методы

mempty :: Compose f g a Источник

mappend :: Compose f g a -> Compose f g a -> Compose f g a Источник

mconcat :: [Compose f g a] -> Compose f g a Источник

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

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

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

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

Методы

mempty :: (f :.: g) p Источник

mappend :: (f :.: g) p -> (f :.: g) p -> (f :.: g) p Источник

mconcat :: [(f :.: g) p] -> (f :.: g) p Источник

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

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

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

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

Методы

mempty :: M1 i c f p Источник

mappend :: M1 i c f p -> M1 i c f p -> M1 i c f p Источник

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

(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e) => Monoid (a, b, c, d, e) Источник

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

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

Определено в GHC.Internal.Base

Методы

mempty :: (a, b, c, d, e) Источник

mappend :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) Источник

mconcat :: [(a, b, c, d, e)] -> (a, b, c, d, e) Источник

(<>) :: Semigroup a => a -> a -> a infixr 6 Источник

Ассоциативная операция.

Примеры
Развернуть
>>> [1,2,3] <> [4,5,6]
[1,2,3,4,5,6]
>>> Just [1, 2, 3] <> Just [4, 5, 6]
Just [1,2,3,4,5,6]
>>> putStr "Hello, " <> putStrLn "World!"
Hello, World!

newtype Dual a Источник

Двойственный объект к Monoid, полученный перестановкой аргументов (<>).

Dual a <> Dual b == Dual (b <> a)
Примеры
Развернуть
>>> Dual "Hello" <> Dual "World"
Dual {getDual = "WorldHello"}
>>> Dual (Dual "Hello") <> Dual (Dual "World")
Dual {getDual = Dual {getDual = "HelloWorld"}}

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

Dual

Поля

  • getDual :: a
Экземпляры
Подробности экземпляров
Foldable1 Dual Исходный код

С версии: base-4.18.0.0

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

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

Методы

fold1 :: Semigroup m => Dual m -> m Исходный код

foldMap1 :: Semigroup m => (a -> m) -> Dual a -> m Исходный код

foldMap1' :: Semigroup m => (a -> m) -> Dual a -> m Исходный код

toNonEmpty :: Dual a -> NonEmpty a Исходный код

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

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

head :: Dual a -> a Исходный код

last :: Dual a -> a Исходный код

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

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

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

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

Applicative Dual Исходный код

С версии: base-4.8.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

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

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

Functor Dual Исходный код

С версии: base-4.8.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

Monad Dual Исходный код

С версии: base-4.8.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

MonadFix Dual Исходный код

С версии: base-4.8.0.0

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

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

Методы

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

MonadZip Dual Исходный код

С версии: ghc-internal-4.8.0.0

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

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

Методы

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

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

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

Foldable Dual Исходный код

С версии: base-4.8.0.0

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

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

Методы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Traversable Dual Исходный код

С версии: base-4.8.0.0

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

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

Методы

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

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

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

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

Generic1 Dual Исходный код
Подробности экземпляра

Определено в GHC.Internal.Data.Semigroup.Internal

Ассоциированные типы

type Rep1 Dual

С версии: base-4.7.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

type Rep1 Dual = D1 ('MetaData "Dual" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Dual" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDual") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Методы

from1 :: Dual a -> Rep1 Dual a Исходный код

to1 :: Rep1 Dual a -> Dual a Исходный код

Monoid a => Monoid (Dual a) Исходный код

С версии: base-2.1

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

mempty :: Dual a Исходный код

mappend :: Dual a -> Dual a -> Dual a Исходный код

mconcat :: [Dual a] -> Dual a Исходный код

Semigroup a => Semigroup (Dual a) Исходный код

С версии: base-4.9.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

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

С версии: base-2.1

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

compare :: Dual a -> Dual a -> Ordering Источник

(<) :: Dual a -> Dual a -> Bool Источник

(<=) :: Dual a -> Dual a -> Bool Источник

(>) :: Dual a -> Dual a -> Bool Источник

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

max :: Dual a -> Dual a -> Dual a Источник

min :: Dual a -> Dual a -> Dual a Источник

Data a => Data (Dual a) Источник

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

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

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

Методы

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

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

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

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

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

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

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

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

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

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

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

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Dual a -> m (Dual a) Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Dual a -> m (Dual a) Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Dual a -> m (Dual a) Источник

Bounded a => Bounded (Dual a) Источник

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

minBound :: Dual a Источник

maxBound :: Dual a Источник

Generic (Dual a) Источник
Сведения об экземпляре

Определено в GHC.Internal.Data.Semigroup.Internal

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

type Rep (Dual a)

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

type Rep (Dual a) = D1 ('MetaData "Dual" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Dual" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDual") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Методы

from :: Dual a -> Rep (Dual a) x Источник

to :: Rep (Dual a) x -> Dual a Источник

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

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

readsPrec :: Int -> ReadS (Dual a) Источник

readList :: ReadS [Dual a] Источник

readPrec :: ReadPrec (Dual a) Источник

readListPrec :: ReadPrec [Dual a] Источник

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

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

type Rep1 Dual Источник

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

type Rep1 Dual = D1 ('MetaData "Dual" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Dual" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDual") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))
type Rep (Dual a) Источник

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

type Rep (Dual a) = D1 ('MetaData "Dual" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Dual" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDual") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

newtype Endo a Источник

Моноид эндоморфизмов относительно композиции.

Endo f <> Endo g == Endo (f . g)
Примеры
Развернуть
>>> let computation = Endo ("Hello, " ++) <> Endo (++ "!")
>>> appEndo computation "Haskell"
"Hello, Haskell!"
>>> let computation = Endo (*3) <> Endo (+1)
>>> appEndo computation 1
6

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

Endo

Поля

  • appEndo :: a -> a
Экземпляры
Подробности экземпляров
Monoid (Endo a) Исходный код

С версии: base-2.1

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

mempty :: Endo a Исходный код

mappend :: Endo a -> Endo a -> Endo a Исходный код

mconcat :: [Endo a] -> Endo a Исходный код

Semigroup (Endo a) Исходный код

С версии: base-4.9.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

Generic (Endo a) Исходный код
Подробности экземпляра

Определено в GHC.Internal.Data.Semigroup.Internal

Ассоциированные типы

type Rep (Endo a)

С версии: base-4.7.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

type Rep (Endo a) = D1 ('MetaData "Endo" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Endo" 'PrefixI 'True) (S1 ('MetaSel ('Just "appEndo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (a -> a))))

Методы

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

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

type Rep (Endo a) Исходный код

С версии: base-4.7.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

type Rep (Endo a) = D1 ('MetaData "Endo" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Endo" 'PrefixI 'True) (S1 ('MetaSel ('Just "appEndo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (a -> a))))

Обёртки для Bool

newtype All Исходный код

Булев моноид относительно конъюнкции (&&).

All x <> All y = All (x && y)
Примеры
Развернуть
>>> All True <> mempty <> All False)
All {getAll = False}
>>> mconcat (map (\x -> All (even x)) [2,4,6,7,8])
All {getAll = False}
>>> All True <> mempty
All {getAll = True}

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

All

Поля

  • getAll :: Bool
Экземпляры
Подробности экземпляров
Monoid All Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

mempty :: All Источник

mappend :: All -> All -> All Источник

mconcat :: [All] -> All Источник

Semigroup All Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

(<>) :: All -> All -> All Источник

sconcat :: NonEmpty All -> All Источник

stimes :: Integral b => b -> All -> All Источник

Eq All Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

Ord All Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

compare :: All -> All -> Ordering Источник

(<) :: All -> All -> Bool Источник

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

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

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

max :: All -> All -> All Источник

min :: All -> All -> All Источник

Data All Источник

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

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

Определён в GHC.Internal.Data.Data

Методы

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

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

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

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

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

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

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

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

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

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

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

gmapM :: Monad m => (forall d. Data d => d -> m d) -> All -> m All Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> All -> m All Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> All -> m All Источник

Bounded All Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

minBound :: All Источник

maxBound :: All Источник

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

Определён в GHC.Internal.Data.Semigroup.Internal

Ассоциированные типы

type Rep All

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

type Rep All = D1 ('MetaData "All" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "All" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAll") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

Методы

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

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

Read All Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

readsPrec :: Int -> ReadS All Источник

readList :: ReadS [All] Источник

readPrec :: ReadPrec All Источник

readListPrec :: ReadPrec [All] Источник

Show All Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

type Rep All Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

type Rep All = D1 ('MetaData "All" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "All" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAll") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

newtype Any Источник

Булев моноид относительно дизъюнкции (||).

Any x <> Any y = Any (x || y)
Примеры
Развернуть
>>> Any True <> mempty <> Any False
Any {getAny = True}
>>> mconcat (map (\x -> Any (even x)) [2,4,6,7,8])
Any {getAny = True}
>>> Any False <> mempty
Any {getAny = False}

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

Any

Поля

  • getAny :: Bool
Экземпляры
Подробности экземпляров
Monoid Any Источник

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

mempty :: Any Источник

mappend :: Any -> Any -> Any Источник

mconcat :: [Any] -> Any Источник

Semigroup Any Источник

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

(<>) :: Any -> Any -> Any Источник

sconcat :: NonEmpty Any -> Any Источник

stimes :: Integral b => b -> Any -> Any Источник

Eq Any Источник

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

Ord Any Источник

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

compare :: Any -> Any -> Ordering Источник

(<) :: Any -> Any -> Bool Источник

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

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

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

max :: Any -> Any -> Any Источник

min :: Any -> Any -> Any Источник

Data Any Источник

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

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

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

Методы

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

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

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

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

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

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

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

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

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

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

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

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Any -> m Any Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Any -> m Any Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Any -> m Any Источник

Bounded Any Источник

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

minBound :: Any Источник

maxBound :: Any Источник

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

Определено в GHC.Internal.Data.Semigroup.Internal

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

type Rep Any

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

type Rep Any = D1 ('MetaData "Any" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Any" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAny") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

Методы

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

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

Read Any Источник

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

readsPrec :: Int -> ReadS Any Источник

readList :: ReadS [Any] Источник

readPrec :: ReadPrec Any Источник

readListPrec :: ReadPrec [Any] Источник

Show Any Источник

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

type Rep Any Источник

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

type Rep Any = D1 ('MetaData "Any" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Any" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAny") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

Обёртки Num

newtype Sum a Источник

Моноид относительно сложения.

Sum a <> Sum b = Sum (a + b)
Примеры
Развернуть
>>> Sum 1 <> Sum 2 <> mempty
Sum {getSum = 3}
>>> mconcat [ Sum n | n <- [3 .. 9]]
Sum {getSum = 42}

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

Sum

Поля

  • getSum :: a
Экземпляры
Подробная информация об экземплярах
Foldable1 Sum Исходный код

С версии: base-4.18.0.0

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

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

Методы

fold1 :: Semigroup m => Sum m -> m Исходный код

foldMap1 :: Semigroup m => (a -> m) -> Sum a -> m Исходный код

foldMap1' :: Semigroup m => (a -> m) -> Sum a -> m Исходный код

toNonEmpty :: Sum a -> NonEmpty a Исходный код

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

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

head :: Sum a -> a Исходный код

last :: Sum a -> a Исходный код

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

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

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

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

Applicative Sum Исходный код

С версии: base-4.8.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

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

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

Functor Sum Исходный код

С версии: base-4.8.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

Monad Sum Исходный код

С версии: base-4.8.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

MonadFix Sum Исходный код

С версии: base-4.8.0.0

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

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

Методы

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

MonadZip Sum Исходный код

С версии: ghc-internal-4.8.0.0

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

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

Методы

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

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

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

Foldable Sum Исходный код

С версии: base-4.8.0.0

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

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

Методы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Traversable Sum Исходный код

С версии: base-4.8.0.0

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

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

Методы

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

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

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

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

Generic1 Sum Исходный код
Подробная информация об экземпляре

Определено в GHC.Internal.Data.Semigroup.Internal

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

type Rep1 Sum

С версии: base-4.7.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

type Rep1 Sum = D1 ('MetaData "Sum" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Sum" 'PrefixI 'True) (S1 ('MetaSel ('Just "getSum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Методы

from1 :: Sum a -> Rep1 Sum a Исходный код

to1 :: Rep1 Sum a -> Sum a Исходный код

Num a => Monoid (Sum a) Исходный код

С версии: base-2.1

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

mempty :: Sum a Исходный код

mappend :: Sum a -> Sum a -> Sum a Исходный код

mconcat :: [Sum a] -> Sum a Исходный код

Num a => Semigroup (Sum a) Исходный код

С версии: base-4.9.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

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

С версии: base-2.1

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

Ord a => Ord (Sum a) Исходный код

С версии: base-2.1

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

compare :: Sum a -> Sum a -> Ordering Исходный код

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

(<=) :: Sum a -> Sum a -> Bool Исходный код

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

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

max :: Sum a -> Sum a -> Sum a Исходный код

min :: Sum a -> Sum a -> Sum a Исходный код

Data a => Data (Sum a) Исходный код

С версии: base-4.8.0.0

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

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

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Sum a -> c (Sum a) Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Sum a) Исходный код

toConstr :: Sum a -> Constr Исходный код

dataTypeOf :: Sum a -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Sum a)) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Sum a)) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Sum a -> Sum a Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Sum a -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Sum a -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Sum a -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Sum a -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Sum a -> m (Sum a) Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Sum a -> m (Sum a) Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Sum a -> m (Sum a) Исходный код

Bounded a => Bounded (Sum a) Исходный код

С версии: base-2.1

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

minBound :: Sum a Исходный код

maxBound :: Sum a Исходный код

Generic (Sum a) Исходный код
Подробности экземпляра

Определено в GHC.Internal.Data.Semigroup.Internal

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

type Rep (Sum a)

С версии: base-4.7.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

type Rep (Sum a) = D1 ('MetaData "Sum" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Sum" 'PrefixI 'True) (S1 ('MetaSel ('Just "getSum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Методы

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

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

Num a => Num (Sum a) Исходный код

С версии: base-4.7.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

(+) :: Sum a -> Sum a -> Sum a Исходный код

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

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

negate :: Sum a -> Sum a Исходный код

abs :: Sum a -> Sum a Исходный код

signum :: Sum a -> Sum a Исходный код

fromInteger :: Integer -> Sum a Исходный код

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

С версии: base-2.1

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

readList :: ReadS [Sum a] Исходный код

readPrec :: ReadPrec (Sum a) Исходный код

readListPrec :: ReadPrec [Sum a] Исходный код

Show a => Show (Sum a) Исходный код

С версии: base-2.1

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

type Rep1 Sum Исходный код

С версии: base-4.7.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

type Rep1 Sum = D1 ('MetaData "Sum" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Sum" 'PrefixI 'True) (S1 ('MetaSel ('Just "getSum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))
type Rep (Sum a) Исходный код

С версии: base-4.7.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

type Rep (Sum a) = D1 ('MetaData "Sum" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Sum" 'PrefixI 'True) (S1 ('MetaSel ('Just "getSum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

newtype Product a Исходный код

Моноид относительно умножения.

Product x <> Product y == Product (x * y)
Примеры
Развернуть
>>> Product 3 <> Product 4 <> mempty
Product {getProduct = 12}
>>> mconcat [ Product n | n <- [2 .. 10]]
Product {getProduct = 3628800}

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

Product

Поля

  • getProduct :: a
Экземпляры
Подробности об экземплярах
Foldable1 Product Источник

С версии: base-4.18.0.0

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

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

Методы

fold1 :: Semigroup m => Product m -> m Источник

foldMap1 :: Semigroup m => (a -> m) -> Product a -> m Источник

foldMap1' :: Semigroup m => (a -> m) -> Product a -> m Источник

toNonEmpty :: Product a -> NonEmpty a Источник

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

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

head :: Product a -> a Источник

last :: Product a -> a Источник

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

foldlMap1' :: (a -> b) -> (b -> a -> b) -> Product a -> b Источник

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

foldrMap1' :: (a -> b) -> (a -> b -> b) -> Product a -> b Источник

Applicative Product Источник

С версии: base-4.8.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

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

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

Functor Product Источник

С версии: base-4.8.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

Monad Product Источник

С версии: base-4.8.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

MonadFix Product Источник

С версии: base-4.8.0.0

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

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

Методы

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

MonadZip Product Источник

С версии: ghc-internal-4.8.0.0

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

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

Методы

mzip :: Product a -> Product b -> Product (a, b) Источник

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

munzip :: Product (a, b) -> (Product a, Product b) Источник

Foldable Product Источник

С версии: base-4.8.0.0

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

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

Методы

fold :: Monoid m => Product m -> m Источник

foldMap :: Monoid m => (a -> m) -> Product a -> m Источник

foldMap' :: Monoid m => (a -> m) -> Product a -> m Источник

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

foldr' :: (a -> b -> b) -> b -> Product a -> b Источник

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

foldl' :: (b -> a -> b) -> b -> Product a -> b Источник

foldr1 :: (a -> a -> a) -> Product a -> a Источник

foldl1 :: (a -> a -> a) -> Product a -> a Источник

toList :: Product a -> [a] Источник

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

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

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

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

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

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

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

Traversable Product Источник

С версии: base-4.8.0.0

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

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

Методы

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

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

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

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

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

Определено в GHC.Internal.Data.Semigroup.Internal

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

type Rep1 Product

С версии: base-4.7.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

type Rep1 Product = D1 ('MetaData "Product" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Product" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProduct") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Методы

from1 :: Product a -> Rep1 Product a Источник

to1 :: Rep1 Product a -> Product a Источник

Num a => Monoid (Product a) Источник

С версии: base-2.1

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

mempty :: Product a Источник

mappend :: Product a -> Product a -> Product a Источник

mconcat :: [Product a] -> Product a Источник

Num a => Semigroup (Product a) Источник

С версии: base-4.9.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

(<>) :: Product a -> Product a -> Product a Источник

sconcat :: NonEmpty (Product a) -> Product a Источник

stimes :: Integral b => b -> Product a -> Product a Источник

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

С версии: base-2.1

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

compare :: Product a -> Product a -> Ordering Источник

(<) :: Product a -> Product a -> Bool Источник

(<=) :: Product a -> Product a -> Bool Источник

(>) :: Product a -> Product a -> Bool Источник

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

max :: Product a -> Product a -> Product a Источник

min :: Product a -> Product a -> Product a Источник

Data a => Data (Product a) Источник

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

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

Определён в GHC.Internal.Data.Data

Методы

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

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

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

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

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

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

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

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

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

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

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

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Product a -> m (Product a) Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Product a -> m (Product a) Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Product a -> m (Product a) Источник

Bounded a => Bounded (Product a) Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

minBound :: Product a Источник

maxBound :: Product a Источник

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

Определён в GHC.Internal.Data.Semigroup.Internal

Ассоциированные типы

type Rep (Product a)

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

type Rep (Product a) = D1 ('MetaData "Product" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Product" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProduct") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Методы

from :: Product a -> Rep (Product a) x Источник

to :: Rep (Product a) x -> Product a Источник

Num a => Num (Product a) Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

(+) :: Product a -> Product a -> Product a Источник

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

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

negate :: Product a -> Product a Источник

abs :: Product a -> Product a Источник

signum :: Product a -> Product a Источник

fromInteger :: Integer -> Product a Источник

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

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

readsPrec :: Int -> ReadS (Product a) Источник

readList :: ReadS [Product a] Источник

readPrec :: ReadPrec (Product a) Источник

readListPrec :: ReadPrec [Product a] Источник

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

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

type Rep1 Product Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

type Rep1 Product = D1 ('MetaData "Product" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Product" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProduct") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))
type Rep (Product a) Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

type Rep (Product a) = D1 ('MetaData "Product" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Product" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProduct") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Обёртки Maybe

newtype First a Источник

Моноид Maybe, возвращающий крайнее слева значение, отличное от Nothing.

First a изоморфен Alt Maybe a, но исторически появился раньше него.

Обратите внимание: Data.Monoid.First отличается от Data.Semigroup.First. Первый возвращает первое значение, отличное от Nothing, то есть Data.Monoid.First Nothing <> x = x. Второй просто возвращает первое значение, то есть Data.Semigroup.First Nothing <> x = Data.Semigroup.First Nothing.

Примеры
Развернуть
>>> First (Just "hello") <> First Nothing <> First (Just "world")
First {getFirst = Just "hello"}
>>> First Nothing <> mempty
First {getFirst = Nothing}

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

First

Поля

  • getFirst :: Maybe a
Экземпляры
Подробности экземпляров
Applicative First Исходный код

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

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

Определено в GHC.Internal.Data.Monoid

Методы

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

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

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

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

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

Functor First Исходный код

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

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

Определено в GHC.Internal.Data.Monoid

Методы

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

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

Monad First Исходный код

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

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

Определено в GHC.Internal.Data.Monoid

Методы

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

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

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

MonadFix First Исходный код

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

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

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

Методы

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

MonadZip First Исходный код

Начиная с: ghc-internal-4.8.0.0

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

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

Методы

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

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

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

Foldable First Исходный код

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

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

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

Методы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Traversable First Исходный код

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

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

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

Методы

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

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

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

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

Generic1 First Исходный код
Подробности экземпляра

Определено в GHC.Internal.Data.Monoid

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

type Rep1 First

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

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

Определено в GHC.Internal.Data.Monoid

type Rep1 First = D1 ('MetaData "First" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "First" 'PrefixI 'True) (S1 ('MetaSel ('Just "getFirst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Maybe)))

Методы

from1 :: First a -> Rep1 First a Исходный код

to1 :: Rep1 First a -> First a Исходный код

Monoid (First a) Исходный код

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

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

Определено в GHC.Internal.Data.Monoid

Методы

mempty :: First a Исходный код

mappend :: First a -> First a -> First a Исходный код

mconcat :: [First a] -> First a Исходный код

Semigroup (First a) Исходный код

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

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

Определено в GHC.Internal.Data.Monoid

Методы

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

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

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

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

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

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

Определено в GHC.Internal.Data.Monoid

Методы

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

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

Ord a => Ord (First a) Исходный код

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

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

Определено в GHC.Internal.Data.Monoid

Методы

compare :: First a -> First a -> Ordering Исходный код

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

(<=) :: First a -> First a -> Bool Исходный код

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

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

max :: First a -> First a -> First a Исходный код

min :: First a -> First a -> First a Исходный код

Data a => Data (First a) Исходный код

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

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

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

Методы

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

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

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

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

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

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

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

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

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

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

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

gmapM :: Monad m => (forall d. Data d => d -> m d) -> First a -> m (First a) Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> First a -> m (First a) Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> First a -> m (First a) Источник

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

Определено в GHC.Internal.Data.Monoid

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

type Rep (First a)

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

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

Определено в GHC.Internal.Data.Monoid

type Rep (First a) = D1 ('MetaData "First" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "First" 'PrefixI 'True) (S1 ('MetaSel ('Just "getFirst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a))))

Методы

from :: First a -> Rep (First a) x Источник

to :: Rep (First a) x -> First a Источник

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

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

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

Определено в GHC.Internal.Data.Monoid

Методы

readsPrec :: Int -> ReadS (First a) Источник

readList :: ReadS [First a] Источник

readPrec :: ReadPrec (First a) Источник

readListPrec :: ReadPrec [First a] Источник

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

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

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

Определено в GHC.Internal.Data.Monoid

Методы

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

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

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

type Rep1 First Источник

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

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

Определено в GHC.Internal.Data.Monoid

type Rep1 First = D1 ('MetaData "First" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "First" 'PrefixI 'True) (S1 ('MetaSel ('Just "getFirst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Maybe)))
type Rep (First a) Источник

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

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

Определено в GHC.Internal.Data.Monoid

type Rep (First a) = D1 ('MetaData "First" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "First" 'PrefixI 'True) (S1 ('MetaSel ('Just "getFirst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a))))

newtype Last a Источник

Моноид Maybe, возвращающий крайнее справа значение, не являющееся Nothing.

Last a изоморфно Dual (First a) и, следовательно, Dual (Alt Maybe a)

Data.Semigroup.Last. Первый возвращает последнее значение, не являющееся Nothing, поэтому x <> Data.Monoid.Last Nothing = x. Второй просто возвращает последнее значение, следовательно, x <> Data.Semigroup.Last Nothing = Data.Semigroup.Last Nothing.

Примеры
Развернуть
>>> Last (Just "hello") <> Last Nothing <> Last (Just "world")
Last {getLast = Just "world"}
>>> Last Nothing <> mempty
Last {getLast = Nothing}

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

Last

Поля

  • getLast :: Maybe a
Экземпляры
Подробности экземпляров
Applicative Last Исходный код

С версии: base-4.8.0.0

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

Определено в GHC.Internal.Data.Monoid

Методы

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

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

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

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

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

Functor Last Исходный код

С версии: base-4.8.0.0

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

Определено в GHC.Internal.Data.Monoid

Методы

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

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

Monad Last Исходный код

С версии: base-4.8.0.0

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

Определено в GHC.Internal.Data.Monoid

Методы

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

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

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

MonadFix Last Исходный код

С версии: base-4.8.0.0

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

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

Методы

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

MonadZip Last Исходный код

С версии: ghc-internal-4.8.0.0

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

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

Методы

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

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

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

Foldable Last Исходный код

С версии: base-4.8.0.0

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

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

Методы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Traversable Last Исходный код

С версии: base-4.8.0.0

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

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

Методы

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

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

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

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

Generic1 Last Исходный код
Подробности экземпляра

Определено в GHC.Internal.Data.Monoid

Ассоциированные типы

type Rep1 Last

С версии: base-4.7.0.0

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

Определено в GHC.Internal.Data.Monoid

type Rep1 Last = D1 ('MetaData "Last" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Last" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Maybe)))

Методы

from1 :: Last a -> Rep1 Last a Исходный код

to1 :: Rep1 Last a -> Last a Исходный код

Monoid (Last a) Исходный код

С версии: base-2.1

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

Определено в GHC.Internal.Data.Monoid

Методы

mempty :: Last a Исходный код

mappend :: Last a -> Last a -> Last a Исходный код

mconcat :: [Last a] -> Last a Исходный код

Semigroup (Last a) Исходный код

С версии: base-4.9.0.0

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

Определено в GHC.Internal.Data.Monoid

Методы

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

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

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

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

С версии: base-2.1

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

Определено в GHC.Internal.Data.Monoid

Методы

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

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

Ord a => Ord (Last a) Исходный код

С версии: base-2.1

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

Определено в GHC.Internal.Data.Monoid

Методы

compare :: Last a -> Last a -> Ordering Исходный код

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

(<=) :: Last a -> Last a -> Bool Исходный код

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

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

max :: Last a -> Last a -> Last a Исходный код

min :: Last a -> Last a -> Last a Исходный код

Data a => Data (Last a) Исходный код

С версии: base-4.8.0.0

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

Определён в GHC.Internal.Data.Data

Методы

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

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

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

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

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

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

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

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

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

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

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

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Last a -> m (Last a) Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Last a -> m (Last a) Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Last a -> m (Last a) Источник

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

Определён в GHC.Internal.Data.Monoid

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

type Rep (Last a)

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

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

Определён в GHC.Internal.Data.Monoid

type Rep (Last a) = D1 ('MetaData "Last" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Last" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a))))

Методы

from :: Last a -> Rep (Last a) x Источник

to :: Rep (Last a) x -> Last a Источник

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

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

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

Определён в GHC.Internal.Data.Monoid

Методы

readsPrec :: Int -> ReadS (Last a) Источник

readList :: ReadS [Last a] Источник

readPrec :: ReadPrec (Last a) Источник

readListPrec :: ReadPrec [Last a] Источник

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

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

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

Определён в GHC.Internal.Data.Monoid

Методы

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

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

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

type Rep1 Last Источник

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

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

Определён в GHC.Internal.Data.Monoid

type Rep1 Last = D1 ('MetaData "Last" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Last" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Maybe)))
type Rep (Last a) Источник

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

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

Определён в GHC.Internal.Data.Monoid

type Rep (Last a) = D1 ('MetaData "Last" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Last" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a))))

Обёртка для альтернативы

newtype Alt (f :: k -> Type) (a :: k) Источник

Моноид относительно <|>.

Alt l <> Alt r == Alt (l <|> r)
Примеры
Развернуть
>>> Alt (Just 12) <> Alt (Just 24)
Alt {getAlt = Just 12}
>>> Alt Nothing <> Alt (Just 24)
Alt {getAlt = Just 24}

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

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

Alt

Поля

  • getAlt :: f a
Экземпляры
Подробности экземпляров
Generic1 (Alt f :: k -> Type) Исходный код
Подробности экземпляра

Определено в GHC.Internal.Data.Semigroup.Internal

Ассоциированные типы

type Rep1 (Alt f :: k -> Type)

Since: base-4.8.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

type Rep1 (Alt f :: k -> Type) = D1 ('MetaData "Alt" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Alt" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAlt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Методы

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

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

Foldable1 f => Foldable1 (Alt f) Исходный код

Since: base-4.18.0.0

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

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

Методы

fold1 :: Semigroup m => Alt f m -> m Исходный код

foldMap1 :: Semigroup m => (a -> m) -> Alt f a -> m Исходный код

foldMap1' :: Semigroup m => (a -> m) -> Alt f a -> m Исходный код

toNonEmpty :: Alt f a -> NonEmpty a Исходный код

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

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

head :: Alt f a -> a Исходный код

last :: Alt f a -> a Исходный код

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

foldlMap1' :: (a -> b) -> (b -> a -> b) -> Alt f a -> b Исходный код

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

foldrMap1' :: (a -> b) -> (a -> b -> b) -> Alt f a -> b Исходный код

Contravariant f => Contravariant (Alt f) Исходный код
Подробности экземпляра

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

Методы

contramap :: (a' -> a) -> Alt f a -> Alt f a' Исходный код

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

Alternative f => Alternative (Alt f) Исходный код

Since: base-4.8.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

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

Applicative f => Applicative (Alt f) Исходный код

Since: base-4.8.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

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

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

Functor f => Functor (Alt f) Исходный код

Since: base-4.8.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

Monad f => Monad (Alt f) Исходный код

Since: base-4.8.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

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

MonadPlus f => MonadPlus (Alt f) Исходный код

Since: base-4.8.0.0

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

Определено в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

MonadFix f => MonadFix (Alt f) Исходный код

Since: base-4.8.0.0

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

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

Методы

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

MonadZip f => MonadZip (Alt f) Исходный код

Since: ghc-internal-4.8.0.0

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

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

Методы

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

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

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

Foldable f => Foldable (Alt f) Исходный код

Since: base-4.12.0.0

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

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

Методы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Traversable f => Traversable (Alt f) Исходный код

Since: base-4.12.0.0

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

Определён в GHC.Internal.Data.Traversable

Методы

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

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

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

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

Alternative f => Monoid (Alt f a) Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

mempty :: Alt f a Источник

mappend :: Alt f a -> Alt f a -> Alt f a Источник

mconcat :: [Alt f a] -> Alt f a Источник

Alternative f => Semigroup (Alt f a) Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

(<>) :: Alt f a -> Alt f a -> Alt f a Источник

sconcat :: NonEmpty (Alt f a) -> Alt f a Источник

stimes :: Integral b => b -> Alt f a -> Alt f a Источник

Eq (f a) => Eq (Alt f a) Источник

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

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

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

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

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

Ord (f a) => Ord (Alt f a) Источник

Начиная с: base-4.8.0.0

Подробное описание экземпляра

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

compare :: Alt f a -> Alt f a -> Ordering Источник

(<) :: Alt f a -> Alt f a -> Bool Источник

(<=) :: Alt f a -> Alt f a -> Bool Источник

(>) :: Alt f a -> Alt f a -> Bool Источник

(>=) :: Alt f a -> Alt f a -> Bool Источник

max :: Alt f a -> Alt f a -> Alt f a Источник

min :: Alt f a -> Alt f a -> Alt f a Источник

(Data (f a), Data a, Typeable f) => Data (Alt f a) Источник

Начиная с: base-4.8.0.0

Подробное описание экземпляра

Определён в GHC.Internal.Data.Data

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Alt f a -> c (Alt f a) Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Alt f a) Источник

toConstr :: Alt f a -> Constr Источник

dataTypeOf :: Alt f a -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Alt f a)) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Alt f a)) Источник

gmapT :: (forall b. Data b => b -> b) -> Alt f a -> Alt f a Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Alt f a -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Alt f a -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> Alt f a -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> Alt f a -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Alt f a -> m (Alt f a) Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Alt f a -> m (Alt f a) Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Alt f a -> m (Alt f a) Источник

Enum (f a) => Enum (Alt f a) Источник

Начиная с: base-4.8.0.0

Подробное описание экземпляра

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

succ :: Alt f a -> Alt f a Источник

pred :: Alt f a -> Alt f a Источник

toEnum :: Int -> Alt f a Источник

fromEnum :: Alt f a -> Int Источник

enumFrom :: Alt f a -> [Alt f a] Источник

enumFromThen :: Alt f a -> Alt f a -> [Alt f a] Источник

enumFromTo :: Alt f a -> Alt f a -> [Alt f a] Источник

enumFromThenTo :: Alt f a -> Alt f a -> Alt f a -> [Alt f a] Источник

Generic (Alt f a) Источник
Подробное описание экземпляра

Определён в GHC.Internal.Data.Semigroup.Internal

Связанные типы

type Rep (Alt f a)

Начиная с: base-4.8.0.0

Подробное описание экземпляра

Определён в GHC.Internal.Data.Semigroup.Internal

type Rep (Alt f a) = D1 ('MetaData "Alt" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Alt" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAlt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Методы

from :: Alt f a -> Rep (Alt f a) x Источник

to :: Rep (Alt f a) x -> Alt f a Источник

Num (f a) => Num (Alt f a) Источник

Начиная с: base-4.8.0.0

Подробное описание экземпляра

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

(+) :: Alt f a -> Alt f a -> Alt f a Источник

(-) :: Alt f a -> Alt f a -> Alt f a Источник

(*) :: Alt f a -> Alt f a -> Alt f a Источник

negate :: Alt f a -> Alt f a Источник

abs :: Alt f a -> Alt f a Источник

signum :: Alt f a -> Alt f a Источник

fromInteger :: Integer -> Alt f a Источник

Read (f a) => Read (Alt f a) Источник

Начиная с: base-4.8.0.0

Сведения об экземпляре

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

readsPrec :: Int -> ReadS (Alt f a) Источник

readList :: ReadS [Alt f a] Источник

readPrec :: ReadPrec (Alt f a) Источник

readListPrec :: ReadPrec [Alt f a] Источник

Show (f a) => Show (Alt f a) Источник

С версии: base-4.8.0.0

Сведения об экземпляре

Определён в GHC.Internal.Data.Semigroup.Internal

Методы

showsPrec :: Int -> Alt f a -> ShowS Источник

show :: Alt f a -> String Источник

showList :: [Alt f a] -> ShowS Источник

type Rep1 (Alt f :: k -> Type) Источник

С версии: base-4.8.0.0

Сведения об экземпляре

Определён в GHC.Internal.Data.Semigroup.Internal

type Rep1 (Alt f :: k -> Type) = D1 ('MetaData "Alt" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Alt" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAlt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))
type Rep (Alt f a) Источник

С версии: base-4.8.0.0

Сведения об экземпляре

Определён в GHC.Internal.Data.Semigroup.Internal

type Rep (Alt f a) = D1 ('MetaData "Alt" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Alt" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAlt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Обёртка Applicative

newtype Ap (f :: k -> Type) (a :: k) Источник

Этот тип данных представляет поточечное поднятие Monoid в Applicative.

Примеры
Развернуть
>>> Ap (Just [1, 2, 3]) <> Ap Nothing
Ap {getAp = Nothing}
>>> Ap [Sum 10, Sum 20] <> Ap [Sum 1, Sum 2]
Ap {getAp = [Sum {getSum = 11},Sum {getSum = 12},Sum {getSum = 21},Sum {getSum = 22}]}

С версии: base-4.12.0.0

Конструкторы

Ap

Поля

  • getAp :: f a
Экземпляры
Сведения об экземплярах
Generic1 (Ap f :: k -> Type) Исходный код
Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Ассоциированные типы

type Rep1 (Ap f :: k -> Type)

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

type Rep1 (Ap f :: k -> Type) = D1 ('MetaData "Ap" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Ap" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Методы

from1 :: forall (a :: k). Ap f a -> Rep1 (Ap f) a Исходный код

to1 :: forall (a :: k). Rep1 (Ap f) a -> Ap f a Исходный код

Foldable1 f => Foldable1 (Ap f) Исходный код

Начиная с: base-4.18.0.0

Подробности экземпляра

Определён в Data.Foldable1

Методы

fold1 :: Semigroup m => Ap f m -> m Исходный код

foldMap1 :: Semigroup m => (a -> m) -> Ap f a -> m Исходный код

foldMap1' :: Semigroup m => (a -> m) -> Ap f a -> m Исходный код

toNonEmpty :: Ap f a -> NonEmpty a Исходный код

maximum :: Ord a => Ap f a -> a Исходный код

minimum :: Ord a => Ap f a -> a Исходный код

head :: Ap f a -> a Исходный код

last :: Ap f a -> a Исходный код

foldrMap1 :: (a -> b) -> (a -> b -> b) -> Ap f a -> b Исходный код

foldlMap1' :: (a -> b) -> (b -> a -> b) -> Ap f a -> b Исходный код

foldlMap1 :: (a -> b) -> (b -> a -> b) -> Ap f a -> b Исходный код

foldrMap1' :: (a -> b) -> (a -> b -> b) -> Ap f a -> b Исходный код

Alternative f => Alternative (Ap f) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Методы

empty :: Ap f a Исходный код

(<|>) :: Ap f a -> Ap f a -> Ap f a Исходный код

some :: Ap f a -> Ap f [a] Исходный код

many :: Ap f a -> Ap f [a] Исходный код

Applicative f => Applicative (Ap f) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Методы

pure :: a -> Ap f a Исходный код

(<*>) :: Ap f (a -> b) -> Ap f a -> Ap f b Исходный код

liftA2 :: (a -> b -> c) -> Ap f a -> Ap f b -> Ap f c Исходный код

(*>) :: Ap f a -> Ap f b -> Ap f b Исходный код

(<*) :: Ap f a -> Ap f b -> Ap f a Исходный код

Functor f => Functor (Ap f) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Методы

fmap :: (a -> b) -> Ap f a -> Ap f b Исходный код

(<$) :: a -> Ap f b -> Ap f a Исходный код

Monad f => Monad (Ap f) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Методы

(>>=) :: Ap f a -> (a -> Ap f b) -> Ap f b Исходный код

(>>) :: Ap f a -> Ap f b -> Ap f b Исходный код

return :: a -> Ap f a Исходный код

MonadPlus f => MonadPlus (Ap f) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Методы

mzero :: Ap f a Исходный код

mplus :: Ap f a -> Ap f a -> Ap f a Исходный код

MonadFail f => MonadFail (Ap f) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Методы

fail :: HasCallStack => String -> Ap f a Исходный код

MonadFix f => MonadFix (Ap f) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Control.Monad.Fix

Методы

mfix :: (a -> Ap f a) -> Ap f a Исходный код

Foldable f => Foldable (Ap f) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Foldable

Методы

fold :: Monoid m => Ap f m -> m Исходный код

foldMap :: Monoid m => (a -> m) -> Ap f a -> m Исходный код

foldMap' :: Monoid m => (a -> m) -> Ap f a -> m Исходный код

foldr :: (a -> b -> b) -> b -> Ap f a -> b Исходный код

foldr' :: (a -> b -> b) -> b -> Ap f a -> b Исходный код

foldl :: (b -> a -> b) -> b -> Ap f a -> b Исходный код

foldl' :: (b -> a -> b) -> b -> Ap f a -> b Исходный код

foldr1 :: (a -> a -> a) -> Ap f a -> a Исходный код

foldl1 :: (a -> a -> a) -> Ap f a -> a Исходный код

toList :: Ap f a -> [a] Исходный код

null :: Ap f a -> Bool Исходный код

length :: Ap f a -> Int Исходный код

elem :: Eq a => a -> Ap f a -> Bool Исходный код

maximum :: Ord a => Ap f a -> a Исходный код

minimum :: Ord a => Ap f a -> a Исходный код

sum :: Num a => Ap f a -> a Исходный код

product :: Num a => Ap f a -> a Исходный код

Traversable f => Traversable (Ap f) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Traversable

Методы

traverse :: Applicative f0 => (a -> f0 b) -> Ap f a -> f0 (Ap f b) Исходный код

sequenceA :: Applicative f0 => Ap f (f0 a) -> f0 (Ap f a) Исходный код

mapM :: Monad m => (a -> m b) -> Ap f a -> m (Ap f b) Исходный код

sequence :: Monad m => Ap f (m a) -> m (Ap f a) Исходный код

(Applicative f, Monoid a) => Monoid (Ap f a) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Методы

mempty :: Ap f a Исходный код

mappend :: Ap f a -> Ap f a -> Ap f a Исходный код

mconcat :: [Ap f a] -> Ap f a Исходный код

(Applicative f, Semigroup a) => Semigroup (Ap f a) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Методы

(<>) :: Ap f a -> Ap f a -> Ap f a Исходный код

sconcat :: NonEmpty (Ap f a) -> Ap f a Исходный код

stimes :: Integral b => b -> Ap f a -> Ap f a Исходный код

Eq (f a) => Eq (Ap f a) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Методы

(==) :: Ap f a -> Ap f a -> Bool Исходный код

(/=) :: Ap f a -> Ap f a -> Bool Исходный код

Ord (f a) => Ord (Ap f a) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Методы

compare :: Ap f a -> Ap f a -> Ordering Исходный код

(<) :: Ap f a -> Ap f a -> Bool Исходный код

(<=) :: Ap f a -> Ap f a -> Bool Исходный код

(>) :: Ap f a -> Ap f a -> Bool Исходный код

(>=) :: Ap f a -> Ap f a -> Bool Исходный код

max :: Ap f a -> Ap f a -> Ap f a Исходный код

min :: Ap f a -> Ap f a -> Ap f a Исходный код

(Data (f a), Data a, Typeable f) => Data (Ap f a) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Data

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ap f a -> c (Ap f a) Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Ap f a) Исходный код

toConstr :: Ap f a -> Constr Исходный код

dataTypeOf :: Ap f a -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Ap f a)) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Ap f a)) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Ap f a -> Ap f a Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ap f a -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ap f a -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Ap f a -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Ap f a -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ap f a -> m (Ap f a) Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ap f a -> m (Ap f a) Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ap f a -> m (Ap f a) Исходный код

(Applicative f, Bounded a) => Bounded (Ap f a) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Методы

minBound :: Ap f a Исходный код

maxBound :: Ap f a Исходный код

Enum (f a) => Enum (Ap f a) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Методы

succ :: Ap f a -> Ap f a Исходный код

pred :: Ap f a -> Ap f a Исходный код

toEnum :: Int -> Ap f a Исходный код

fromEnum :: Ap f a -> Int Исходный код

enumFrom :: Ap f a -> [Ap f a] Исходный код

enumFromThen :: Ap f a -> Ap f a -> [Ap f a] Исходный код

enumFromTo :: Ap f a -> Ap f a -> [Ap f a] Исходный код

enumFromThenTo :: Ap f a -> Ap f a -> Ap f a -> [Ap f a] Исходный код

Generic (Ap f a) Исходный код
Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Связанные типы

type Rep (Ap f a)

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

type Rep (Ap f a) = D1 ('MetaData "Ap" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Ap" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Методы

from :: Ap f a -> Rep (Ap f a) x Исходный код

to :: Rep (Ap f a) x -> Ap f a Исходный код

(Applicative f, Num a) => Num (Ap f a) Исходный код

Обратите внимание: даже если экземпляры Num и Applicative для базового типа являются корректными, для большинства Applicative этот экземпляр не будет корректным. Если использовать этот экземпляр со списком Applicative, следующие общепринятые законы выполняться не будут:

Коммутативность:

>>> Ap [10,20] + Ap [1,2]
Ap {getAp = [11,12,21,22]}
>>> Ap [1,2] + Ap [10,20]
Ap {getAp = [11,21,12,22]}

Аддитивная обратная величина:

>>> Ap [] + negate (Ap [])
Ap {getAp = []}
>>> fromInteger 0 :: Ap [] Int
Ap {getAp = [0]}

Дистрибутивность:

>>> Ap [1,2] * (3 + 4)
Ap {getAp = [7,14]}
>>> (Ap [1,2] * 3) + (Ap [1,2] * 4)
Ap {getAp = [7,11,10,14]}

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Методы

(+) :: Ap f a -> Ap f a -> Ap f a Исходный код

(-) :: Ap f a -> Ap f a -> Ap f a Исходный код

(*) :: Ap f a -> Ap f a -> Ap f a Исходный код

negate :: Ap f a -> Ap f a Исходный код

abs :: Ap f a -> Ap f a Исходный код

signum :: Ap f a -> Ap f a Исходный код

fromInteger :: Integer -> Ap f a Исходный код

Read (f a) => Read (Ap f a) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Методы

readsPrec :: Int -> ReadS (Ap f a) Исходный код

readList :: ReadS [Ap f a] Исходный код

readPrec :: ReadPrec (Ap f a) Исходный код

readListPrec :: ReadPrec [Ap f a] Исходный код

Show (f a) => Show (Ap f a) Исходный код

Начиная с: base-4.12.0.0

Подробности экземпляра

Определён в GHC.Internal.Data.Monoid

Методы

showsPrec :: Int -> Ap f a -> ShowS Исходный код

show :: Ap f a -> String Исходный код

showList :: [Ap f a] -> ShowS Исходный код

type Rep1 (Ap f :: k -> Type) Источник

С версии: base-4.12.0.0

Подробности экземпляра

Определено в GHC.Internal.Data.Monoid

type Rep1 (Ap f :: k -> Type) = D1 ('MetaData "Ap" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Ap" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))
type Rep (Ap f a) Источник

С версии: base-4.12.0.0

Подробности экземпляра

Определено в GHC.Internal.Data.Monoid

type Rep (Ap f a) = D1 ('MetaData "Ap" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Ap" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.14.1/docs/libraries/base-4.22.0.0-66f8/Data-Monoid.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API