Spec-Zone.ru › Haskell 9

Data.Functor.Identity

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

Описание

Функтор и монада Identity.

Этот тривиальный конструктор типов служит двум целям:

  • Его можно использовать с функциями, параметризованными классами функторов или монад.
  • Его можно использовать в качестве базовой монады, к которой можно применять последовательность преобразователей монад для построения составной монады. Большинство модулей преобразователей монад включает особый случай применения преобразователя к Identity. Например, State s — это сокращённая запись для StateT s Identity.

С версии: base-4.8.0.0

newtype Identity a Источник

Функтор и монада Identity (нестрогая монада)

Примеры
Развернуть
>>> fmap (+1) (Identity 0)
Identity 1
>>> Identity [1, 2, 3] <> Identity [4, 5, 6]
Identity [1,2,3,4,5,6]
>>> do
      x <- Identity 10
      y <- Identity (x + 5)
      pure (x + y)
Identity 25

С версии: base-4.8.0.0

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

Identity

Поля

  • runIdentity :: a
Экземпляры
Сведения об экземплярах
Foldable1 Identity Источник

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

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

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

Методы

fold1 :: Semigroup m => Identity m -> m Источник

foldMap1 :: Semigroup m => (a -> m) -> Identity a -> m Источник

foldMap1' :: Semigroup m => (a -> m) -> Identity a -> m Источник

toNonEmpty :: Identity a -> NonEmpty a Источник

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

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

head :: Identity a -> a Источник

last :: Identity a -> a Источник

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

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

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

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

Eq1 Identity Источник

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

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

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

Методы

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

Ord1 Identity Источник

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

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

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

Методы

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

Read1 Identity Источник

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

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

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

Методы

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

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

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

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

Show1 Identity Источник

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

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

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

Методы

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

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

Applicative Identity Источник

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

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

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

Методы

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

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

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

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

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

Functor Identity Источник

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

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

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

Методы

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

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

Monad Identity Источник

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

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

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

Методы

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

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

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

MonadFix Identity Источник

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

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

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

Методы

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

MonadZip Identity Источник

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

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

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

Методы

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

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

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

Foldable Identity Источник

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

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

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

Методы

fold :: Monoid m => Identity m -> m Источник

foldMap :: Monoid m => (a -> m) -> Identity a -> m Источник

foldMap' :: Monoid m => (a -> m) -> Identity a -> m Источник

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

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

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

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

foldr1 :: (a -> a -> a) -> Identity a -> a Источник

foldl1 :: (a -> a -> a) -> Identity a -> a Источник

toList :: Identity a -> [a] Источник

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

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

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

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

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

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

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

Traversable Identity Источник

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

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

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

Методы

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

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

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

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

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

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

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

type Rep1 Identity

С версии: base-4.8.0.0

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

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

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

Методы

from1 :: Identity a -> Rep1 Identity a Источник

to1 :: Rep1 Identity a -> Identity 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 Источник

Semigroup a => Semigroup (Identity a) Источник

С версии: base-4.9.0.0

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

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

Методы

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

sconcat :: NonEmpty (Identity a) -> Identity a Источник

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

Bits a => Bits (Identity a) Источник

С версии: base-4.9.0.0

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

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

Методы

(.&.) :: Identity a -> Identity a -> Identity a Источник

(.|.) :: Identity a -> Identity a -> Identity a Источник

xor :: Identity a -> Identity a -> Identity a Источник

complement :: Identity a -> Identity a Источник

shift :: Identity a -> Int -> Identity a Источник

rotate :: Identity a -> Int -> Identity a Источник

zeroBits :: Identity a Источник

bit :: Int -> Identity a Источник

setBit :: Identity a -> Int -> Identity a Источник

clearBit :: Identity a -> Int -> Identity a Источник

complementBit :: Identity a -> Int -> Identity a Источник

testBit :: Identity a -> Int -> Bool Источник

bitSizeMaybe :: Identity a -> Maybe Int Источник

bitSize :: Identity a -> Int Источник

isSigned :: Identity a -> Bool Источник

shiftL :: Identity a -> Int -> Identity a Источник

unsafeShiftL :: Identity a -> Int -> Identity a Источник

shiftR :: Identity a -> Int -> Identity a Источник

unsafeShiftR :: Identity a -> Int -> Identity a Источник

rotateL :: Identity a -> Int -> Identity a Источник

rotateR :: Identity a -> Int -> Identity a Источник

popCount :: Identity a -> Int Источник

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

С версии: base-4.9.0.0

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

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

Методы

finiteBitSize :: Identity a -> Int Источник

countLeadingZeros :: Identity a -> Int Источник

countTrailingZeros :: Identity a -> Int Источник

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

С версии: base-4.8.0.0

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

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

Методы

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

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

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

С версии: base-4.8.0.0

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

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

Методы

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

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

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

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

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

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

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

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

С версии: base-4.9.0.0

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

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

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Identity a -> c (Identity a) Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Identity a) Исходный код

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

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

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Identity a)) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Identity a)) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Identity a -> Identity a Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Identity a -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Identity a -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Identity a -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Identity a -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Identity a -> m (Identity a) Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Identity a -> m (Identity a) Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Identity a -> m (Identity a) Исходный код

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

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

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

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

Методы

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

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

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

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

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

Методы

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

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

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

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

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

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

Методы

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

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

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

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

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

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

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

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

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

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

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

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

Методы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Методы

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

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

floatRange :: Identity a -> (Int, Int) Исходный код

decodeFloat :: Identity a -> (Integer, Int) Исходный код

encodeFloat :: Integer -> Int -> Identity a Исходный код

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

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

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

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

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

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

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

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

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

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

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

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

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

Методы

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

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

peekElemOff :: Ptr (Identity a) -> Int -> IO (Identity a) Исходный код

pokeElemOff :: Ptr (Identity a) -> Int -> Identity a -> IO () Исходный код

peekByteOff :: Ptr b -> Int -> IO (Identity a) Исходный код

pokeByteOff :: Ptr b -> Int -> Identity a -> IO () Исходный код

peek :: Ptr (Identity a) -> IO (Identity a) Исходный код

poke :: Ptr (Identity a) -> Identity a -> IO () Исходный код

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

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

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

type Rep (Identity a)

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

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

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

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

Методы

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

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

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

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

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

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

Методы

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

index :: (Identity a, Identity a) -> Identity a -> Int Исходный код

unsafeIndex :: (Identity a, Identity a) -> Identity a -> Int Исходный код

inRange :: (Identity a, Identity a) -> Identity a -> Bool Исходный код

rangeSize :: (Identity a, Identity a) -> Int Исходный код

unsafeRangeSize :: (Identity a, Identity a) -> Int Исходный код

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

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

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

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

Методы

(+) :: Identity a -> Identity a -> Identity a Исходный код

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

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

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

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

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

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

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

Этот экземпляр был бы эквивалентен автоматически выведенным экземплярам нового типа Identity, если бы поле runIdentity было удалено

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

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

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

Методы

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

readList :: ReadS [Identity a] Исходный код

readPrec :: ReadPrec (Identity a) Исходный код

readListPrec :: ReadPrec [Identity a] Исходный код

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

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

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

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

Методы

(/) :: Identity a -> Identity a -> Identity a Исходный код

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

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

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

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

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

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

Методы

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

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

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

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

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

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

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

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

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

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

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

Методы

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

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

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

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

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

Методы

properFraction :: Integral b => Identity a -> (b, Identity a) Исходный код

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

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

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

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

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

Этот экземпляр был бы эквивалентен автоматически выведенным экземплярам нового типа Identity, если бы поле runIdentity было удалено

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

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

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

Методы

showsPrec :: Int -> Identity a -> ShowS Исходный код

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

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

type Rep1 Identity Исходный код

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

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

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

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

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

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

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

type Rep (Identity a) = D1 ('MetaData "Identity" "GHC.Internal.Data.Functor.Identity" "ghc-internal" 'True) (C1 ('MetaCons "Identity" 'PrefixI 'True) (S1 ('MetaSel ('Just "runIdentity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 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-Functor-Identity.html

Spec-Zone.ru

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