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
Функтор и монада 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 | |
Поля
| |
Экземпляры
Определено в 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 | |
| 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 Связанные типы
Методы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) Исходный код |
Этот экземпляр был бы эквивалентен автоматически выведенным экземплярам нового типа Начиная с: 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) Исходный код |
Этот экземпляр был бы эквивалентен автоматически выведенным экземплярам нового типа Начиная с: 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 Rep (Identity a) Источник | Начиная с: base-4.8.0.0 |
Определён в GHC.Internal.Data.Functor.Identity | |
© 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