Spec-Zone.ru › Haskell 9

Data.Functor.Identity

Copyright (c) Andy Gill 2001
(c) Oregon Graduate Institute of Science and Technology 2001
License BSD-style (see the file LICENSE)
Maintainer ross@soi.city.ac.uk
Stability stable
Portability portable
Safe Haskell Safe
Language Haskell2010

Описание

Функтор и монада тождества.

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

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

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

newtype Identity a Source

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

Примеры
Развернуть
>>> 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) Source

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

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

Foldable Identity Source

Since: base-4.8.0.0

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

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

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

fold :: Monoid m => Identity m -> m Source

foldMap :: Monoid m => (a -> m) -> Identity a -> m Source

foldMap' :: Monoid m => (a -> m) -> Identity a -> m Source

foldr :: (a -> b -> b) -> b -> Identity a -> b Source

foldr' :: (a -> b -> b) -> b -> Identity a -> b Source

foldl :: (b -> a -> b) -> b -> Identity a -> b Source

foldl' :: (b -> a -> b) -> b -> Identity a -> b Source

foldr1 :: (a -> a -> a) -> Identity a -> a Source

foldl1 :: (a -> a -> a) -> Identity a -> a Source

toList :: Identity a -> [a] Source

null :: Identity a -> Bool Source

length :: Identity a -> Int Source

elem :: Eq a => a -> Identity a -> Bool Source

maximum :: Ord a => Identity a -> a Source

minimum :: Ord a => Identity a -> a Source

sum :: Num a => Identity a -> a Source

product :: Num a => Identity a -> a Source

Traversable Identity Source

Since: base-4.9.0.0

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

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

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

traverse :: Applicative f => (a -> f b) -> Identity a -> f (Identity b) Source

sequenceA :: Applicative f => Identity (f a) -> f (Identity a) Source

mapM :: Monad m => (a -> m b) -> Identity a -> m (Identity b) Source

sequence :: Monad m => Identity (m a) -> m (Identity a) Source

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

Data a => Data (Identity a) Source

Since: base-4.9.0.0

Instance details

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

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Identity a) Source

toConstr :: Identity a -> Constr Source

dataTypeOf :: Identity a -> DataType Source

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

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

gmapT :: (forall b. Data b => b -> b) -> Identity a -> Identity a Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Identity a -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Identity a -> r Source

gmapQ :: (forall d. Data d => d -> u) -> Identity a -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> Identity a -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Identity a -> m (Identity a) Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Identity a -> m (Identity a) Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Identity a -> m (Identity a) Source

IsString a => IsString (Identity a) Source

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.String

Методы

fromString :: String -> Identity a Source

Bounded a => Bounded (Identity a) Source

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Identity

Методы

minBound :: Identity a Source

maxBound :: Identity a Source

Enum a => Enum (Identity a) Source

Since: 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 newtype, если бы поле 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 newtype, если бы поле runIdentity было удалено

С: base-4.8.0.0

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

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

Методы

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

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

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

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

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

С момента: 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.12.1/docs/libraries/base-4.21.0.0-8e62/Data-Functor-Identity.html

Spec-Zone.ru

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