GHC.Exts
| Авторское право | (c) The University of Glasgow 2002 |
|---|---|
| Лицензия | см. libraries/base/LICENSE |
| Сопровождающий | ghc-devs@haskell.org |
| Стабильность | внутренняя |
| Переносимость | непереносимый (расширения GHC) |
| Safe Haskell | Нет |
| Язык | Haskell2010 |
Содержание
- Типы указателей
- Другие примитивные типы
- Устаревший интерфейс для массивов массивов
- Примитивные операции
- Перегруженные списки
- Преобразующие списковые выражения
- Строки
- Отладка
- Идентификаторы с особым поведением
- Аннотации SpecConstr
- Приведения
- Преобразование ADT в теги конструкторов
- Максимальный размер кортежа
Описание
Расширения GHC: это рекомендуемый способ доступа к расширениям, специфичным для GHC.
Примечание: никакой другой модуль base не должен импортировать этот модуль.
Типы указателей
data Ptr a Исходный код
Значение типа Ptr a представляет собой указатель на объект или массив объектов, которые могут быть преобразованы в значения Haskell типа a или обратно.
Тип a часто будет экземпляром класса Storable, предоставляющего операции преобразования. Однако это необязательно: вы можете предоставить собственные операции для доступа к указателю. Например, можно написать небольшие внешние функции для чтения или установки полей структуры C struct.
Экземпляры
| Generic1 (URec (Ptr ()) :: k -> Type) Исходный код | |||||
Определён в GHC.Internal.Generics Связанные типы
| |||||
| Eq1 (UAddr :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определён в Data.Functor.Classes | |||||
| Ord1 (UAddr :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определён в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> UAddr a -> UAddr b -> Ordering Исходный код | |||||
| Show1 (UAddr :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определён в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UAddr a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UAddr a] -> ShowS Исходный код | |||||
| Eq (Ptr a) Исходный код | Начиная с: base-2.1 |
||||
Определён в GHC.Internal.Ptr | |||||
| Ord (Ptr a) Исходный код | Начиная с: base-2.1 |
||||
Определён в GHC.Internal.Ptr Методыcompare :: Ptr a -> Ptr a -> Ordering Исходный код (<) :: Ptr a -> Ptr a -> Bool Исходный код (<=) :: Ptr a -> Ptr a -> Bool Исходный код (>) :: Ptr a -> Ptr a -> Bool Исходный код (>=) :: Ptr a -> Ptr a -> Bool Исходный код max :: Ptr a -> Ptr a -> Ptr a Исходный код min :: Ptr a -> Ptr a -> Ptr a Исходный код | |||||
| Data a => Data (Ptr 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) -> Ptr a -> c (Ptr a) Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Ptr a) Исходный код toConstr :: Ptr a -> Constr Исходный код dataTypeOf :: Ptr a -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Ptr a)) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Ptr a)) Исходный код gmapT :: (forall b. Data b => b -> b) -> Ptr a -> Ptr a Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ptr a -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ptr a -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Ptr a -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Ptr a -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ptr a -> m (Ptr a) Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ptr a -> m (Ptr a) Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ptr a -> m (Ptr a) Исходный код | |||||
| Foldable (UAddr :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UAddr m -> m Исходный код foldMap :: Monoid m => (a -> m) -> UAddr a -> m Исходный код foldMap' :: Monoid m => (a -> m) -> UAddr a -> m Исходный код foldr :: (a -> b -> b) -> b -> UAddr a -> b Исходный код foldr' :: (a -> b -> b) -> b -> UAddr a -> b Исходный код foldl :: (b -> a -> b) -> b -> UAddr a -> b Исходный код foldl' :: (b -> a -> b) -> b -> UAddr a -> b Исходный код foldr1 :: (a -> a -> a) -> UAddr a -> a Исходный код foldl1 :: (a -> a -> a) -> UAddr a -> a Исходный код toList :: UAddr a -> [a] Исходный код null :: UAddr a -> Bool Исходный код length :: UAddr a -> Int Исходный код elem :: Eq a => a -> UAddr a -> Bool Исходный код maximum :: Ord a => UAddr a -> a Исходный код minimum :: Ord a => UAddr a -> a Исходный код sum :: Num a => UAddr a -> a Исходный код product :: Num a => UAddr a -> a Исходный код | |||||
| Traversable (UAddr :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> UAddr a -> f (UAddr b) Исходный код sequenceA :: Applicative f => UAddr (f a) -> f (UAddr a) Исходный код mapM :: Monad m => (a -> m b) -> UAddr a -> m (UAddr b) Исходный код sequence :: Monad m => UAddr (m a) -> m (UAddr a) Исходный код | |||||
| Storable (Ptr a) Исходный код | Начиная с: base-2.1 |
||||
data FunPtr a Исходный код
Значение типа FunPtr a — это указатель на функцию, вызываемую из внешнего кода. Тип a обычно является внешним типом — типом функции с нулём или несколькими аргументами, где
- типы аргументов являются маршализуемыми внешними типами, то есть
Char,Int,Double,Float,Bool,Int8,Int16,Int32,Int64,Word8,Word16,Word32,Word64,Ptr a,FunPtr a,StablePtr aили переименование любого из них с помощьюnewtype. - тип возвращаемого значения — это либо маршализуемый внешний тип, либо тип вида
IO t, гдеtявляется маршализуемым внешним типом или().
Значение типа FunPtr a может быть указателем на внешнюю функцию, возвращённым другой внешней функцией или импортированным с помощью импорта статического адреса, например
foreign import ccall "stdlib.h &free" p_free :: FunPtr (Ptr a -> IO ())
либо указателем на функцию Haskell, созданную с помощью заглушки wrapper, объявленной как возвращающая FunPtr нужного типа. Например:
type Compare = Int -> Int -> Bool foreign import ccall "wrapper" mkCompare :: Compare -> IO (FunPtr Compare)
Вызовы заглушек wrapper, таких как mkCompare, выделяют память, которую следует освободить с помощью freeHaskellFunPtr, когда она больше не нужна.
Чтобы преобразовать значения FunPtr в соответствующие функции Haskell, можно определить заглушку dynamic для конкретного внешнего типа, например
type IntFunction = CInt -> IO () foreign import ccall "dynamic" mkFun :: FunPtr IntFunction -> IntFunction
Экземпляры
| Eq (FunPtr a) Исходный код | |
Определён в GHC.Internal.Ptr Методы(==) :: FunPtr a -> FunPtr a -> Bool Исходный код (/=) :: FunPtr a -> FunPtr a -> Bool Исходный код | |
| Ord (FunPtr a) Исходный код | |
Определён в GHC.Internal.Ptr Методыcompare :: FunPtr a -> FunPtr a -> Ordering Исходный код (<) :: FunPtr a -> FunPtr a -> Bool Исходный код (<=) :: FunPtr a -> FunPtr a -> Bool Исходный код (>) :: FunPtr a -> FunPtr a -> Bool Исходный код (>=) :: FunPtr a -> FunPtr a -> Bool Исходный код max :: FunPtr a -> FunPtr a -> FunPtr a Исходный код min :: FunPtr a -> FunPtr a -> FunPtr a Исходный код | |
| Storable (FunPtr a) Исходный код | Начиная с: base-2.1 |
Определён в GHC.Internal.Foreign.Storable МетодыsizeOf :: FunPtr a -> Int Исходный код alignment :: FunPtr a -> Int Исходный код peekElemOff :: Ptr (FunPtr a) -> Int -> IO (FunPtr a) Исходный код pokeElemOff :: Ptr (FunPtr a) -> Int -> FunPtr a -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO (FunPtr a) Исходный код pokeByteOff :: Ptr b -> Int -> FunPtr a -> IO () Исходный код | |
| Show (FunPtr a) Исходный код | Начиная с: base-2.1 |
Определён в GHC.Internal.Ptr МетодыshowsPrec :: Int -> FunPtr a -> ShowS Исходный код show :: FunPtr a -> String Исходный код showList :: [FunPtr a] -> ShowS Исходный код | |
Другие примитивные типы
isTrue# :: Int# -> Bool Исходный код
Псевдоним для tagToEnum#. Возвращает True, если его параметр равен 1#, и False, если он равен 0#.
pattern KindRepApp :: KindRep -> KindRep -> KindRep Исходный код
pattern KindRepFun :: KindRep -> KindRep -> KindRep Исходный код
pattern KindRepTYPE :: RuntimeRep -> KindRep Исходный код
pattern KindRepTyConApp :: TyCon -> [KindRep] -> KindRep Исходный код
pattern KindRepTypeLitD :: TypeLitSort -> [Char] -> KindRep Исходный код
pattern KindRepTypeLitS :: TypeLitSort -> Addr# -> KindRep Исходный код
pattern KindRepVar :: KindBndr -> KindRep Исходный код
type family MultMul (a :: Multiplicity) (b :: Multiplicity) :: Multiplicity where ... Исходный код
data Ordering Исходный код
Экземпляры
| Monoid Ordering Исходный код | С версии: base-2.1 |
||||
Определено в GHC.Internal.Base Методыmempty :: Ordering Исходный код mappend :: Ordering -> Ordering -> Ordering Исходный код mconcat :: [Ordering] -> Ordering Исходный код | |||||
| Semigroup Ordering Исходный код | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Base Методы(<>) :: Ordering -> Ordering -> Ordering Исходный код sconcat :: NonEmpty Ordering -> Ordering Исходный код stimes :: Integral b => b -> Ordering -> Ordering Исходный код | |||||
| Eq Ordering Исходный код | |||||
Определено в GHC.Internal.Classes Методы(==) :: Ordering -> Ordering -> Bool Исходный код (/=) :: Ordering -> Ordering -> Bool Исходный код | |||||
| Ord Ordering Исходный код | |||||
Определено в GHC.Internal.Classes Методыcompare :: Ordering -> Ordering -> Ordering Исходный код (<) :: Ordering -> Ordering -> Bool Исходный код (<=) :: Ordering -> Ordering -> Bool Исходный код (>) :: Ordering -> Ordering -> Bool Исходный код (>=) :: Ordering -> Ordering -> Bool Исходный код max :: Ordering -> Ordering -> Ordering Исходный код min :: Ordering -> Ordering -> Ordering Исходный код | |||||
| Data Ordering Исходный код | С версии: base-4.0.0.0 |
||||
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ordering -> c Ordering Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Ordering Исходный код toConstr :: Ordering -> Constr Исходный код dataTypeOf :: Ordering -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Ordering) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ordering) Исходный код gmapT :: (forall b. Data b => b -> b) -> Ordering -> Ordering Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ordering -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ordering -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Ordering -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Ordering -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ordering -> m Ordering Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ordering -> m Ordering Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ordering -> m Ordering Исходный код | |||||
| Bounded Ordering Исходный код | С версии: base-2.1 |
||||
Определено в GHC.Internal.Enum | |||||
| Enum Ordering Исходный код | С версии: base-2.1 |
||||
Определено в GHC.Internal.Enum Методыsucc :: Ordering -> Ordering Исходный код pred :: Ordering -> Ordering Исходный код toEnum :: Int -> Ordering Исходный код fromEnum :: Ordering -> Int Исходный код enumFrom :: Ordering -> [Ordering] Исходный код enumFromThen :: Ordering -> Ordering -> [Ordering] Исходный код enumFromTo :: Ordering -> Ordering -> [Ordering] Исходный код enumFromThenTo :: Ordering -> Ordering -> Ordering -> [Ordering] Исходный код | |||||
| Generic Ordering Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom :: Ordering -> Rep Ordering x Исходный код to :: Rep Ordering x -> Ordering Исходный код | |||||
| Ix Ordering Исходный код | С версии: base-2.1 |
||||
Определено в GHC.Internal.Ix Методыrange :: (Ordering, Ordering) -> [Ordering] Исходный код index :: (Ordering, Ordering) -> Ordering -> Int Исходный код unsafeIndex :: (Ordering, Ordering) -> Ordering -> Int Исходный код inRange :: (Ordering, Ordering) -> Ordering -> Bool Исходный код rangeSize :: (Ordering, Ordering) -> Int Исходный код unsafeRangeSize :: (Ordering, Ordering) -> Int Исходный код | |||||
| Read Ordering Исходный код | С версии: base-2.1 |
||||
Определено в GHC.Internal.Read МетодыreadsPrec :: Int -> ReadS Ordering Исходный код readList :: ReadS [Ordering] Исходный код | |||||
| Show Ordering Исходный код | С версии: base-2.1 |
||||
Определён в GHC.Internal.Show МетодыshowsPrec :: Int -> Ordering -> ShowS Исходный код show :: Ordering -> String Исходный код showList :: [Ordering] -> ShowS Исходный код | |
| type Rep Ordering Исходный код | Начиная с: base-4.6.0.0 |
Определён в GHC.Internal.Generics | |
data SPEC Исходный код
SPEC используется GHC на этапе SpecConstr, чтобы указать компилятору, когда следует действовать особенно агрессивно. В частности, это указывает GHC выполнять специализацию независимо от размера или количества специализаций. Однако не все циклы относятся к этой категории.
Библиотеки могут указать это с помощью типа данных SPEC, чтобы определить, какие циклы следует активно специализировать. Например, вместо
loop x where loop arg = ...
напишите
loop SPEC x where loop !_ arg = ...
Между SPEC и SPEC2 нет семантической разницы; нам просто нужен тип с двумя конструкторами, чтобы он не был оптимизирован до SpecConstr.
Этот тип повторно экспортируется из GHC.Exts начиная с GHC 9.0 и base-4.15. Для совместимости с более ранними выпусками импортируйте его из GHC.Internal.Types из пакета ghc-internal.
Начиная с: ghc-internal-0.3.1.0
pattern TrNameD :: [Char] -> TrName Исходный код
Динамический
pattern TrNameS :: Addr# -> TrName Исходный код
Статический
pattern TypeLitChar :: TypeLitSort Исходный код
pattern TypeLitNat :: TypeLitSort Исходный код
pattern TypeLitSymbol :: TypeLitSort Исходный код
type Void# = (# #) Исходный код
Устарело: теперь Void# является псевдонимом для неупакованного кортежа (# #).
data CONSTRAINT (a :: RuntimeRep) Исходный код
data TYPE (a :: RuntimeRep) Исходный код
Экземпляры
| HasResolution E0 Источник | Начиная с: base-4.1.0.0 |
||||
Определено в Data.Fixed Методыresolution :: p E0 -> Integer Источник | |||||
| HasResolution E1 Источник | Начиная с: base-4.1.0.0 |
||||
Определено в Data.Fixed Методыresolution :: p E1 -> Integer Источник | |||||
| HasResolution E12 Источник | Начиная с: base-2.1 |
||||
Определено в Data.Fixed Методыresolution :: p E12 -> Integer Источник | |||||
| HasResolution E2 Источник | Начиная с: base-4.1.0.0 |
||||
Определено в Data.Fixed Методыresolution :: p E2 -> Integer Источник | |||||
| HasResolution E3 Источник | Начиная с: base-4.1.0.0 |
||||
Определено в Data.Fixed Методыresolution :: p E3 -> Integer Источник | |||||
| HasResolution E6 Источник | Начиная с: base-2.1 |
||||
Определено в Data.Fixed Методыresolution :: p E6 -> Integer Источник | |||||
| HasResolution E9 Источник | Начиная с: base-4.1.0.0 |
||||
Определено в Data.Fixed Методыresolution :: p E9 -> Integer Источник | |||||
| Category Op Источник | |||||
| Generic1 Complex Источник | |||||
Определено в Data.Complex Ассоциированные типы
| |||||
| Generic1 First Источник | |||||
Определено в Data.Semigroup Ассоциированные типы
| |||||
| Generic1 Last Источник | |||||
Определено в Data.Semigroup Ассоциированные типы
| |||||
| Generic1 Max Источник | |||||
Определено в Data.Semigroup Ассоциированные типы
| |||||
| Generic1 Min Источник | |||||
Определено в Data.Semigroup Ассоциированные типы
| |||||
| Generic1 WrappedMonoid Источник | |||||
Определено в Data.Semigroup Ассоциированные типы
Методыfrom1 :: WrappedMonoid a -> Rep1 WrappedMonoid a Источник to1 :: Rep1 WrappedMonoid a -> WrappedMonoid a Источник | |||||
| Generic1 NonEmpty Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 Identity Источник | |||||
Определено в GHC.Internal.Data.Functor.Identity Связанные типы
| |||||
| Generic1 First Источник | |||||
Определено в GHC.Internal.Data.Monoid Связанные типы
| |||||
| Generic1 Last Источник | |||||
Определено в GHC.Internal.Data.Monoid Связанные типы
| |||||
| Generic1 Down Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 Dual Источник | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Связанные типы
| |||||
| Generic1 Product Источник | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Связанные типы
| |||||
| Generic1 Sum Источник | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Связанные типы
| |||||
| Generic1 ZipList Источник | |||||
Определено в GHC.Internal.Functor.ZipList Связанные типы
| |||||
| Generic1 Par1 Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 Maybe Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 Solo Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 [] Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Monad m => Category (Kleisli m :: Type -> Type -> Type) Источник | Начиная с: base-3.0 |
||||
| Generic1 (WrappedMonad m :: Type -> Type) Источник | |||||
Определено в Control.Applicative Связанные типы
Методыfrom1 :: WrappedMonad m a -> Rep1 (WrappedMonad m) a Источник to1 :: Rep1 (WrappedMonad m) a -> WrappedMonad m a Источник | |||||
| Generic1 (Arg a :: Type -> Type) Источник | |||||
Определено в Data.Semigroup Связанные типы
| |||||
| Generic1 (Either a :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 ((,) a :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, a0) -> Rep1 ((,) a) a0 Исходный код to1 :: Rep1 ((,) a) a0 -> (a, a0) Исходный код | |||||
| Category (->) Исходный код | Начиная с: base-3.0 |
||||
Определено в GHC.Internal.Control.Category | |||||
| Generic1 (WrappedArrow a b :: Type -> Type) Исходный код | |||||
Определено в Control.Applicative Связанные типы
Методыfrom1 :: WrappedArrow a b a0 -> Rep1 (WrappedArrow a b) a0 Исходный код to1 :: Rep1 (WrappedArrow a b) a0 -> WrappedArrow a b a0 Исходный код | |||||
| Generic1 (Kleisli m a :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Control.Arrow Связанные типы
Методыfrom1 :: Kleisli m a a0 -> Rep1 (Kleisli m a) a0 Исходный код to1 :: Rep1 (Kleisli m a) a0 -> Kleisli m a a0 Исходный код | |||||
| Generic1 ((,,) a b :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, a0) -> Rep1 ((,,) a b) a0 Исходный код to1 :: Rep1 ((,,) a b) a0 -> (a, b, a0) Исходный код | |||||
| Generic1 ((,,,) a b c :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, a0) -> Rep1 ((,,,) a b c) a0 Исходный код to1 :: Rep1 ((,,,) a b c) a0 -> (a, b, c, a0) Исходный код | |||||
| Generic1 ((,,,,) a b c d :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Functor f => Generic1 (Compose f g :: k -> Type) Источник | |||||
Определено в Data.Functor.Compose Связанные типы
| |||||
| Functor f => Generic1 (f :.: g :: k -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 ((,,,,,) a b c d e :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 ((,,,,,,) a b c d e f :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 ((,,,,,,,) a b c d e f g :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, f, g, a0) -> Rep1 ((,,,,,,,) a b c d e f g) a0 Исходный код to1 :: Rep1 ((,,,,,,,) a b c d e f g) a0 -> (a, b, c, d, e, f, g, a0) Исходный код | |||||
| Generic1 ((,,,,,,,,) a b c d e f g h :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, a0) -> Rep1 ((,,,,,,,,) a b c d e f g h) a0 Исходный код to1 :: Rep1 ((,,,,,,,,) a b c d e f g h) a0 -> (a, b, c, d, e, f, g, h, a0) Исходный код | |||||
| Generic1 ((,,,,,,,,,) a b c d e f g h i :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, a0) -> Rep1 ((,,,,,,,,,) a b c d e f g h i) a0 Исходный код to1 :: Rep1 ((,,,,,,,,,) a b c d e f g h i) a0 -> (a, b, c, d, e, f, g, h, i, a0) Исходный код | |||||
| Generic1 ((,,,,,,,,,,) a b c d e f g h i j :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, j, a0) -> Rep1 ((,,,,,,,,,,) a b c d e f g h i j) a0 Источник to1 :: Rep1 ((,,,,,,,,,,) a b c d e f g h i j) a0 -> (a, b, c, d, e, f, g, h, i, j, a0) Источник | |||||
| Generic1 ((,,,,,,,,,,,) a b c d e f g h i j k :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, j, k, a0) -> Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k) a0 Источник to1 :: Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k) a0 -> (a, b, c, d, e, f, g, h, i, j, k, a0) Источник | |||||
| Generic1 ((,,,,,,,,,,,,) a b c d e f g h i j k l :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, j, k, l, a0) -> Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l) a0 Исходный код to1 :: Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l) a0 -> (a, b, c, d, e, f, g, h, i, j, k, l, a0) Исходный код | |||||
| Generic1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, a0) -> Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m) a0 Исходный код to1 :: Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m) a0 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, a0) Исходный код | |||||
| Generic1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, a0) -> Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n) a0 Исходный код to1 :: Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n) a0 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, a0) Исходный код | |||||
| Bifoldable (Const :: Type -> Type -> Type) Исходный код | Начиная с: base-4.10.0.0 |
||||
Определено в Data.Bifoldable Методыbifold :: Monoid m => Const m m -> m Исходный код bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> Const a b -> m Исходный код bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> Const a b -> c Исходный код bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> Const a b -> c Исходный код | |||||
| Bifoldable1 (Const :: Type -> Type -> Type) Исходный код | |||||
Определено в Data.Bifoldable1 Методыbifold1 :: Semigroup m => Const m m -> m Исходный код bifoldMap1 :: Semigroup m => (a -> m) -> (b -> m) -> Const a b -> m Исходный код | |||||
| Bifunctor (Const :: Type -> Type -> Type) Исходный код | Начиная с: base-4.8.0.0 |
||||
Определено в Data.Bifunctor Методыbimap :: (a -> b) -> (c -> d) -> Const a c -> Const b d Исходный код first :: (a -> b) -> Const a c -> Const b c Исходный код second :: (b -> c) -> Const a b -> Const a c Исходный код | |||||
| Bitraversable (Const :: Type -> Type -> Type) Исходный код | Начиная с: base-4.10.0.0 |
||||
Определено в Data.Bitraversable Методыbitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Const a b -> f (Const c d) Исходный код | |||||
| Foldable1 (V1 :: Type -> Type) Исходный код | Начиная с: base-4.18.0.0 |
||||
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => V1 m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> V1 a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> V1 a -> m Исходный код toNonEmpty :: V1 a -> NonEmpty a Исходный код maximum :: Ord a => V1 a -> a Исходный код minimum :: Ord a => V1 a -> a Исходный код head :: V1 a -> a Исходный код last :: V1 a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> V1 a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> V1 a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> V1 a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> V1 a -> b Исходный код | |||||
| Eq1 (Proxy :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Eq1 (U1 :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Eq1 (UAddr :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Eq1 (UChar :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Eq1 (UDouble :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Eq1 (UFloat :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
| Eq1 (UInt :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
| Eq1 (UWord :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
| Eq1 (V1 :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
| Eq2 (Const :: Type -> Type -> Type) Источник | Начиная с: base-4.9.0.0 |
| Ord1 (Proxy :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 (U1 :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 (UAddr :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 (UChar :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 (UDouble :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 (UFloat :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 (UInt :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 (UWord :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 (V1 :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord2 (Const :: Type -> Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes | |
| Read1 (Proxy :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Proxy a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Proxy a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Proxy a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Proxy a] Источник | |
| Read1 (U1 :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (U1 a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [U1 a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (U1 a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [U1 a] Источник | |
| Read1 (V1 :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (V1 a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [V1 a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (V1 a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [V1 a] Источник | |
| Read2 (Const :: Type -> Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (Const a b) Исходный код liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [Const a b] Исходный код liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (Const a b) Исходный код liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [Const a b] Исходный код | |
| Show1 (Proxy :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Proxy a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Proxy a] -> ShowS Исходный код | |
| Show1 (U1 :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> U1 a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [U1 a] -> ShowS Исходный код | |
| Show1 (UAddr :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UAddr a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UAddr a] -> ShowS Исходный код | |
| Show1 (UChar :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UChar a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UChar a] -> ShowS Исходный код | |
| Show1 (UDouble :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UDouble a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UDouble a] -> ShowS Исходный код | |
| Show1 (UFloat :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UFloat a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UFloat a] -> ShowS Исходный код | |
| Show1 (UInt :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UInt a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UInt a] -> ShowS Исходный код | |
| Show1 (UWord :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UWord a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UWord a] -> ShowS Исходный код | |
| Show1 (V1 :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> V1 a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [V1 a] -> ShowS Исходный код | |
| Show2 (Const :: Type -> Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes | |
| Contravariant (Proxy :: Type -> Type) Исходный код | |
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> Proxy a -> Proxy a' Исходный код (>$) :: b -> Proxy b -> Proxy a Исходный код | |
| Contravariant (U1 :: Type -> Type) Исходный код | |
Определено в Data.Functor.Contravariant | |
| Contravariant (V1 :: Type -> Type) Исходный код | |
Определено в Data.Functor.Contravariant | |
| Alternative (Proxy :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Proxy Методыempty :: Proxy a Исходный код (<|>) :: Proxy a -> Proxy a -> Proxy a Исходный код some :: Proxy a -> Proxy [a] Исходный код many :: Proxy a -> Proxy [a] Исходный код | |
| Alternative (U1 :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Generics Методыempty :: U1 a Исходный код (<|>) :: U1 a -> U1 a -> U1 a Исходный код some :: U1 a -> U1 [a] Исходный код many :: U1 a -> U1 [a] Исходный код | |
| Applicative (Proxy :: Type -> Type) Исходный код | С версии: base-4.7.0.0 |
Определён в GHC.Internal.Data.Proxy Методыpure :: a -> Proxy a Исходный код (<*>) :: Proxy (a -> b) -> Proxy a -> Proxy b Исходный код liftA2 :: (a -> b -> c) -> Proxy a -> Proxy b -> Proxy c Исходный код (*>) :: Proxy a -> Proxy b -> Proxy b Исходный код (<*) :: Proxy a -> Proxy b -> Proxy a Исходный код | |
| Applicative (U1 :: Type -> Type) Исходный код | С версии: base-4.9.0.0 |
Определён в GHC.Internal.Generics Методыpure :: a -> U1 a Исходный код (<*>) :: U1 (a -> b) -> U1 a -> U1 b Исходный код liftA2 :: (a -> b -> c) -> U1 a -> U1 b -> U1 c Исходный код (*>) :: U1 a -> U1 b -> U1 b Исходный код (<*) :: U1 a -> U1 b -> U1 a Исходный код | |
| Functor (Proxy :: Type -> Type) Исходный код | С версии: base-4.7.0.0 |
Определён в GHC.Internal.Data.Proxy Методыfmap :: (a -> b) -> Proxy a -> Proxy b Исходный код (<$) :: a -> Proxy b -> Proxy a Исходный код | |
| Functor (U1 :: Type -> Type) Исходный код | С версии: base-4.9.0.0 |
Определён в GHC.Internal.Generics | |
| Functor (V1 :: Type -> Type) Исходный код | С версии: base-4.9.0.0 |
Определён в GHC.Internal.Generics | |
| Monad (Proxy :: Type -> Type) Исходный код | С версии: base-4.7.0.0 |
Определён в GHC.Internal.Data.Proxy Методы(>>=) :: Proxy a -> (a -> Proxy b) -> Proxy b Исходный код (>>) :: Proxy a -> Proxy b -> Proxy b Исходный код return :: a -> Proxy a Исходный код | |
| Monad (U1 :: Type -> Type) Исходный код | С версии: base-4.9.0.0 |
Определён в GHC.Internal.Generics Методы(>>=) :: U1 a -> (a -> U1 b) -> U1 b Исходный код (>>) :: U1 a -> U1 b -> U1 b Исходный код return :: a -> U1 a Исходный код | |
| MonadPlus (Proxy :: Type -> Type) Исходный код | С версии: base-4.9.0.0 |
Определён в GHC.Internal.Data.Proxy | |
| MonadPlus (U1 :: Type -> Type) Исходный код | С версии: base-4.9.0.0 |
Определён в GHC.Internal.Generics | |
| MonadZip (Proxy :: Type -> Type) Исходный код | С версии: ghc-internal-4.9.0.0 |
Определён в GHC.Internal.Control.Monad.Zip Методыmzip :: Proxy a -> Proxy b -> Proxy (a, b) Исходный код mzipWith :: (a -> b -> c) -> Proxy a -> Proxy b -> Proxy c Исходный код munzip :: Proxy (a, b) -> (Proxy a, Proxy b) Исходный код | |
| MonadZip (U1 :: Type -> Type) Исходный код | С версии: ghc-internal-4.9.0.0 |
Определён в GHC.Internal.Control.Monad.Zip Методыmzip :: U1 a -> U1 b -> U1 (a, b) Исходный код mzipWith :: (a -> b -> c) -> U1 a -> U1 b -> U1 c Исходный код munzip :: U1 (a, b) -> (U1 a, U1 b) Исходный код | |
| Foldable (Proxy :: Type -> Type) Исходный код | С версии: base-4.7.0.0 |
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => Proxy m -> m Исходный код foldMap :: Monoid m => (a -> m) -> Proxy a -> m Исходный код foldMap' :: Monoid m => (a -> m) -> Proxy a -> m Исходный код foldr :: (a -> b -> b) -> b -> Proxy a -> b Исходный код foldr' :: (a -> b -> b) -> b -> Proxy a -> b Исходный код foldl :: (b -> a -> b) -> b -> Proxy a -> b Исходный код foldl' :: (b -> a -> b) -> b -> Proxy a -> b Исходный код foldr1 :: (a -> a -> a) -> Proxy a -> a Исходный код foldl1 :: (a -> a -> a) -> Proxy a -> a Исходный код toList :: Proxy a -> [a] Исходный код null :: Proxy a -> Bool Исходный код length :: Proxy a -> Int Исходный код elem :: Eq a => a -> Proxy a -> Bool Исходный код maximum :: Ord a => Proxy a -> a Исходный код minimum :: Ord a => Proxy a -> a Исходный код sum :: Num a => Proxy a -> a Исходный код product :: Num a => Proxy a -> a Исходный код | |
| Foldable (U1 :: Type -> Type) Исходный код | С версии: base-4.9.0.0 |
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => U1 m -> m Источник foldMap :: Monoid m => (a -> m) -> U1 a -> m Источник foldMap' :: Monoid m => (a -> m) -> U1 a -> m Источник foldr :: (a -> b -> b) -> b -> U1 a -> b Источник foldr' :: (a -> b -> b) -> b -> U1 a -> b Источник foldl :: (b -> a -> b) -> b -> U1 a -> b Источник foldl' :: (b -> a -> b) -> b -> U1 a -> b Источник foldr1 :: (a -> a -> a) -> U1 a -> a Источник foldl1 :: (a -> a -> a) -> U1 a -> a Источник toList :: U1 a -> [a] Источник length :: U1 a -> Int Источник elem :: Eq a => a -> U1 a -> Bool Источник maximum :: Ord a => U1 a -> a Источник minimum :: Ord a => U1 a -> a Источник | |
| Foldable (UAddr :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UAddr m -> m Источник foldMap :: Monoid m => (a -> m) -> UAddr a -> m Источник foldMap' :: Monoid m => (a -> m) -> UAddr a -> m Источник foldr :: (a -> b -> b) -> b -> UAddr a -> b Источник foldr' :: (a -> b -> b) -> b -> UAddr a -> b Источник foldl :: (b -> a -> b) -> b -> UAddr a -> b Источник foldl' :: (b -> a -> b) -> b -> UAddr a -> b Источник foldr1 :: (a -> a -> a) -> UAddr a -> a Источник foldl1 :: (a -> a -> a) -> UAddr a -> a Источник toList :: UAddr a -> [a] Источник null :: UAddr a -> Bool Источник length :: UAddr a -> Int Источник elem :: Eq a => a -> UAddr a -> Bool Источник maximum :: Ord a => UAddr a -> a Источник minimum :: Ord a => UAddr a -> a Источник | |
| Foldable (UChar :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UChar m -> m Источник foldMap :: Monoid m => (a -> m) -> UChar a -> m Источник foldMap' :: Monoid m => (a -> m) -> UChar a -> m Источник foldr :: (a -> b -> b) -> b -> UChar a -> b Источник foldr' :: (a -> b -> b) -> b -> UChar a -> b Источник foldl :: (b -> a -> b) -> b -> UChar a -> b Источник foldl' :: (b -> a -> b) -> b -> UChar a -> b Источник foldr1 :: (a -> a -> a) -> UChar a -> a Источник foldl1 :: (a -> a -> a) -> UChar a -> a Источник toList :: UChar a -> [a] Источник null :: UChar a -> Bool Источник length :: UChar a -> Int Источник elem :: Eq a => a -> UChar a -> Bool Источник maximum :: Ord a => UChar a -> a Источник minimum :: Ord a => UChar a -> a Источник | |
| Foldable (UDouble :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UDouble m -> m Источник foldMap :: Monoid m => (a -> m) -> UDouble a -> m Источник foldMap' :: Monoid m => (a -> m) -> UDouble a -> m Источник foldr :: (a -> b -> b) -> b -> UDouble a -> b Источник foldr' :: (a -> b -> b) -> b -> UDouble a -> b Источник foldl :: (b -> a -> b) -> b -> UDouble a -> b Источник foldl' :: (b -> a -> b) -> b -> UDouble a -> b Источник foldr1 :: (a -> a -> a) -> UDouble a -> a Источник foldl1 :: (a -> a -> a) -> UDouble a -> a Источник toList :: UDouble a -> [a] Источник null :: UDouble a -> Bool Источник length :: UDouble a -> Int Источник elem :: Eq a => a -> UDouble a -> Bool Источник maximum :: Ord a => UDouble a -> a Источник minimum :: Ord a => UDouble a -> a Источник | |
| Foldable (UFloat :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UFloat m -> m Источник foldMap :: Monoid m => (a -> m) -> UFloat a -> m Источник foldMap' :: Monoid m => (a -> m) -> UFloat a -> m Источник foldr :: (a -> b -> b) -> b -> UFloat a -> b Источник foldr' :: (a -> b -> b) -> b -> UFloat a -> b Источник foldl :: (b -> a -> b) -> b -> UFloat a -> b Источник foldl' :: (b -> a -> b) -> b -> UFloat a -> b Источник foldr1 :: (a -> a -> a) -> UFloat a -> a Источник foldl1 :: (a -> a -> a) -> UFloat a -> a Источник toList :: UFloat a -> [a] Источник null :: UFloat a -> Bool Источник length :: UFloat a -> Int Источник elem :: Eq a => a -> UFloat a -> Bool Источник maximum :: Ord a => UFloat a -> a Источник minimum :: Ord a => UFloat a -> a Источник | |
| Foldable (UInt :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UInt m -> m Источник foldMap :: Monoid m => (a -> m) -> UInt a -> m Источник foldMap' :: Monoid m => (a -> m) -> UInt a -> m Источник foldr :: (a -> b -> b) -> b -> UInt a -> b Источник foldr' :: (a -> b -> b) -> b -> UInt a -> b Источник foldl :: (b -> a -> b) -> b -> UInt a -> b Источник foldl' :: (b -> a -> b) -> b -> UInt a -> b Источник foldr1 :: (a -> a -> a) -> UInt a -> a Источник foldl1 :: (a -> a -> a) -> UInt a -> a Источник toList :: UInt a -> [a] Источник null :: UInt a -> Bool Источник length :: UInt a -> Int Источник elem :: Eq a => a -> UInt a -> Bool Источник maximum :: Ord a => UInt a -> a Источник minimum :: Ord a => UInt a -> a Источник | |
| Foldable (UWord :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UWord m -> m Источник foldMap :: Monoid m => (a -> m) -> UWord a -> m Источник foldMap' :: Monoid m => (a -> m) -> UWord a -> m Источник foldr :: (a -> b -> b) -> b -> UWord a -> b Источник foldr' :: (a -> b -> b) -> b -> UWord a -> b Источник foldl :: (b -> a -> b) -> b -> UWord a -> b Источник foldl' :: (b -> a -> b) -> b -> UWord a -> b Источник foldr1 :: (a -> a -> a) -> UWord a -> a Источник foldl1 :: (a -> a -> a) -> UWord a -> a Источник toList :: UWord a -> [a] Источник null :: UWord a -> Bool Источник length :: UWord a -> Int Источник elem :: Eq a => a -> UWord a -> Bool Источник maximum :: Ord a => UWord a -> a Источник minimum :: Ord a => UWord a -> a Источник | |
| Foldable (V1 :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => V1 m -> m Источник foldMap :: Monoid m => (a -> m) -> V1 a -> m Источник foldMap' :: Monoid m => (a -> m) -> V1 a -> m Источник foldr :: (a -> b -> b) -> b -> V1 a -> b Источник foldr' :: (a -> b -> b) -> b -> V1 a -> b Источник foldl :: (b -> a -> b) -> b -> V1 a -> b Источник foldl' :: (b -> a -> b) -> b -> V1 a -> b Источник foldr1 :: (a -> a -> a) -> V1 a -> a Источник foldl1 :: (a -> a -> a) -> V1 a -> a Источник toList :: V1 a -> [a] Источник length :: V1 a -> Int Источник elem :: Eq a => a -> V1 a -> Bool Источник maximum :: Ord a => V1 a -> a Источник minimum :: Ord a => V1 a -> a Источник | |
| Traversable (Proxy :: Type -> Type) Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Traversable | |
| Traversable (U1 :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
| Traversable (UAddr :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> UAddr a -> f (UAddr b) Исходный код sequenceA :: Applicative f => UAddr (f a) -> f (UAddr a) Исходный код mapM :: Monad m => (a -> m b) -> UAddr a -> m (UAddr b) Исходный код sequence :: Monad m => UAddr (m a) -> m (UAddr a) Исходный код | |
| Traversable (UChar :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> UChar a -> f (UChar b) Исходный код sequenceA :: Applicative f => UChar (f a) -> f (UChar a) Исходный код mapM :: Monad m => (a -> m b) -> UChar a -> m (UChar b) Исходный код sequence :: Monad m => UChar (m a) -> m (UChar a) Исходный код | |
| Traversable (UDouble :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> UDouble a -> f (UDouble b) Исходный код sequenceA :: Applicative f => UDouble (f a) -> f (UDouble a) Исходный код mapM :: Monad m => (a -> m b) -> UDouble a -> m (UDouble b) Исходный код sequence :: Monad m => UDouble (m a) -> m (UDouble a) Исходный код | |
| Traversable (UFloat :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> UFloat a -> f (UFloat b) Исходный код sequenceA :: Applicative f => UFloat (f a) -> f (UFloat a) Исходный код mapM :: Monad m => (a -> m b) -> UFloat a -> m (UFloat b) Исходный код sequence :: Monad m => UFloat (m a) -> m (UFloat a) Исходный код | |
| Traversable (UInt :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> UInt a -> f (UInt b) Исходный код sequenceA :: Applicative f => UInt (f a) -> f (UInt a) Исходный код mapM :: Monad m => (a -> m b) -> UInt a -> m (UInt b) Исходный код sequence :: Monad m => UInt (m a) -> m (UInt a) Исходный код | |
| Traversable (UWord :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> UWord a -> f (UWord b) Исходный код sequenceA :: Applicative f => UWord (f a) -> f (UWord a) Исходный код mapM :: Monad m => (a -> m b) -> UWord a -> m (UWord b) Исходный код sequence :: Monad m => UWord (m a) -> m (UWord a) Исходный код | |
| Traversable (V1 :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> V1 a -> f (V1 b) Исходный код sequenceA :: Applicative f => V1 (f a) -> f (V1 a) Исходный код mapM :: Monad m => (a -> m b) -> V1 a -> m (V1 b) Исходный код sequence :: Monad m => V1 (m a) -> m (V1 a) Исходный код | |
| Bifoldable (K1 i :: Type -> Type -> Type) Исходный код | Начиная с: base-4.10.0.0 |
Определено в Data.Bifoldable Методыbifold :: Monoid m => K1 i m m -> m Исходный код bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> K1 i a b -> m Исходный код bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> K1 i a b -> c Исходный код bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> K1 i a b -> c Исходный код | |
| Bifunctor (K1 i :: Type -> Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Bifunctor Методыbimap :: (a -> b) -> (c -> d) -> K1 i a c -> K1 i b d Исходный код first :: (a -> b) -> K1 i a c -> K1 i b c Исходный код second :: (b -> c) -> K1 i a b -> K1 i a c Исходный код | |
| Bitraversable (K1 i :: Type -> Type -> Type) Исходный код | Начиная с: base-4.10.0.0 |
Определено в Data.Bitraversable Методыbitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> K1 i a b -> f (K1 i c d) Исходный код | |
| 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 Исходный код | |
| Foldable1 f => Foldable1 (Alt f) Исходный код | Начиная с: 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 Исходный код | |
| Foldable1 f => Foldable1 (Rec1 f) Исходный код | Начиная с: base-4.18.0.0 |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => Rec1 f m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> Rec1 f a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> Rec1 f a -> m Исходный код toNonEmpty :: Rec1 f a -> NonEmpty a Исходный код maximum :: Ord a => Rec1 f a -> a Исходный код minimum :: Ord a => Rec1 f a -> a Исходный код head :: Rec1 f a -> a Исходный код last :: Rec1 f a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> Rec1 f a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> Rec1 f a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> Rec1 f a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> Rec1 f a -> b Исходный код | |
| Eq a => Eq1 (Const a :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes | |
| (Generic1 f, Eq1 (Rep1 f)) => Eq1 (Generically1 f) Исходный код | Начиная с: base-4.17.0.0 |
Определено в Data.Functor.Classes МетодыliftEq :: (a -> b -> Bool) -> Generically1 f a -> Generically1 f b -> Bool Исходный код | |
| Eq1 f => Eq1 (Rec1 f) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord a => Ord1 (Const a :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a0 -> b -> Ordering) -> Const a a0 -> Const a b -> Ordering Исходный код | |
| (Generic1 f, Ord1 (Rep1 f)) => Ord1 (Generically1 f) Исходный код | Начиная с: base-4.17.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> Generically1 f a -> Generically1 f b -> Ordering Исходный код | |
| Ord1 f => Ord1 (Rec1 f) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> Rec1 f a -> Rec1 f b -> Ordering Исходный код | |
| Read a => Read1 (Const a :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a0) -> ReadS [a0] -> Int -> ReadS (Const a a0) Исходный код liftReadList :: (Int -> ReadS a0) -> ReadS [a0] -> ReadS [Const a a0] Исходный код liftReadPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec (Const a a0) Исходный код liftReadListPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec [Const a a0] Исходный код | |
| Read1 f => Read1 (Rec1 f) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Rec1 f a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Rec1 f a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Rec1 f a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Rec1 f a] Исходный код | |
| Show a => Show1 (Const a :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> Int -> Const a a0 -> ShowS Исходный код liftShowList :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> [Const a a0] -> ShowS Исходный код | |
| Show1 f => Show1 (Rec1 f) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Rec1 f a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Rec1 f a] -> ShowS Исходный код | |
| Contravariant (Const a :: Type -> Type) Исходный код | |
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a0) -> Const a a0 -> Const a a' Исходный код (>$) :: b -> Const a b -> Const a a0 Исходный код | |
| Contravariant f => Contravariant (Alt f) Исходный код | |
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> Alt f a -> Alt f a' Исходный код (>$) :: b -> Alt f b -> Alt f a Исходный код | |
| Contravariant f => Contravariant (Rec1 f) Исходный код | |
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> Rec1 f a -> Rec1 f a' Исходный код (>$) :: b -> Rec1 f b -> Rec1 f a Исходный код | |
| 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] Исходный код | |
| Alternative f => Alternative (Alt f) Исходный код | Начиная с: 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] Исходный код | |
| (Generic1 f, Alternative (Rep1 f)) => Alternative (Generically1 f) Исходный код | Начиная с: base-4.17.0.0 |
Определено в GHC.Internal.Generics Методыempty :: Generically1 f a Исходный код (<|>) :: Generically1 f a -> Generically1 f a -> Generically1 f a Исходный код some :: Generically1 f a -> Generically1 f [a] Исходный код many :: Generically1 f a -> Generically1 f [a] Исходный код | |
| Alternative f => Alternative (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыempty :: Rec1 f a Исходный код (<|>) :: Rec1 f a -> Rec1 f a -> Rec1 f a Исходный код some :: Rec1 f a -> Rec1 f [a] Исходный код many :: Rec1 f a -> Rec1 f [a] Исходный код | |
| Monoid m => Applicative (Const m :: Type -> Type) Исходный код | Начиная с: base-2.0.1 |
Определено в GHC.Internal.Data.Functor.Const Методыpure :: a -> Const m a Исходный код (<*>) :: Const m (a -> b) -> Const m a -> Const m b Исходный код liftA2 :: (a -> b -> c) -> Const m a -> Const m b -> Const m c Исходный код (*>) :: Const m a -> Const m b -> Const m b Исходный код (<*) :: Const m a -> Const m b -> Const m 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 Исходный код | |
| Applicative f => Applicative (Alt f) Исходный код | Начиная с: 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 Исходный код | |
| (Generic1 f, Applicative (Rep1 f)) => Applicative (Generically1 f) Исходный код | Начиная с: base-4.17.0.0 |
Определено в GHC.Internal.Generics Методыpure :: a -> Generically1 f a Исходный код (<*>) :: Generically1 f (a -> b) -> Generically1 f a -> Generically1 f b Исходный код liftA2 :: (a -> b -> c) -> Generically1 f a -> Generically1 f b -> Generically1 f c Исходный код (*>) :: Generically1 f a -> Generically1 f b -> Generically1 f b Исходный код (<*) :: Generically1 f a -> Generically1 f b -> Generically1 f a Исходный код | |
| Applicative f => Applicative (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыpure :: a -> Rec1 f a Исходный код (<*>) :: Rec1 f (a -> b) -> Rec1 f a -> Rec1 f b Исходный код liftA2 :: (a -> b -> c) -> Rec1 f a -> Rec1 f b -> Rec1 f c Исходный код (*>) :: Rec1 f a -> Rec1 f b -> Rec1 f b Исходный код (<*) :: Rec1 f a -> Rec1 f b -> Rec1 f a Исходный код | |
| Functor (Const m :: Type -> Type) Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Data.Functor.Const Методыfmap :: (a -> b) -> Const m a -> Const m b Исходный код (<$) :: a -> Const m b -> Const m a Исходный код | |
| Functor f => Functor (Ap f) Исходный код | Начиная с: base-4.12.0.0 |
Определено в GHC.Internal.Data.Monoid | |
| Functor f => Functor (Alt f) Исходный код | Начиная с: 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 Исходный код | |
| (Generic1 f, Functor (Rep1 f)) => Functor (Generically1 f) Исходный код | Начиная с: base-4.17.0.0 |
Определено в GHC.Internal.Generics Методыfmap :: (a -> b) -> Generically1 f a -> Generically1 f b Исходный код (<$) :: a -> Generically1 f b -> Generically1 f a Исходный код | |
| Functor f => Functor (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыfmap :: (a -> b) -> Rec1 f a -> Rec1 f b Исходный код (<$) :: a -> Rec1 f b -> Rec1 f a Исходный код | |
| Functor (URec (Ptr ()) :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Functor (URec Char :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Functor (URec Double :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Functor (URec Float :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Functor (URec Int :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Functor (URec Word :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| 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 Исходный код | |
| Monad f => Monad (Alt f) Исходный код | Начиная с: 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 Исходный код | |
| Monad f => Monad (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методы(>>=) :: Rec1 f a -> (a -> Rec1 f b) -> Rec1 f b Исходный код (>>) :: Rec1 f a -> Rec1 f b -> Rec1 f b Исходный код return :: a -> Rec1 f a Исходный код | |
| MonadPlus f => MonadPlus (Ap f) Исходный код | Начиная с: base-4.12.0.0 |
Определено в GHC.Internal.Data.Monoid | |
| MonadPlus f => MonadPlus (Alt f) Исходный код | Начиная с: base-4.8.0.0 |
Определено в GHC.Internal.Data.Semigroup.Internal | |
| MonadPlus f => MonadPlus (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| 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 Исходный код | |
| MonadFix f => MonadFix (Alt f) Исходный код | Начиная с: base-4.8.0.0 |
Определено в GHC.Internal.Control.Monad.Fix Методыmfix :: (a -> Alt f a) -> Alt f a Исходный код | |
| MonadFix f => MonadFix (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Control.Monad.Fix Методыmfix :: (a -> Rec1 f a) -> Rec1 f a Исходный код | |
| MonadZip f => MonadZip (Alt f) Исходный код | Начиная с: 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) Исходный код | |
| MonadZip f => MonadZip (Rec1 f) Источник | Начиная с: ghc-internal-4.9.0.0 |
| Data t => Data (Proxy t) Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Proxy t -> c (Proxy t) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Proxy t) Источник toConstr :: Proxy t -> Constr Источник dataTypeOf :: Proxy t -> DataType Источник dataCast1 :: Typeable t0 => (forall d. Data d => c (t0 d)) -> Maybe (c (Proxy t)) Источник dataCast2 :: Typeable t0 => (forall d e. (Data d, Data e) => c (t0 d e)) -> Maybe (c (Proxy t)) Источник gmapT :: (forall b. Data b => b -> b) -> Proxy t -> Proxy t Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Proxy t -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Proxy t -> r Источник gmapQ :: (forall d. Data d => d -> u) -> Proxy t -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> Proxy t -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> Proxy t -> m (Proxy t) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Proxy t -> m (Proxy t) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Proxy t -> m (Proxy t) Источник | |
| Data p => Data (U1 p) Источник | Начиная с: 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) -> U1 p -> c (U1 p) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (U1 p) Источник toConstr :: U1 p -> Constr Источник dataTypeOf :: U1 p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (U1 p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (U1 p)) Источник gmapT :: (forall b. Data b => b -> b) -> U1 p -> U1 p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> U1 p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> U1 p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> U1 p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> U1 p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> U1 p -> m (U1 p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> U1 p -> m (U1 p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> U1 p -> m (U1 p) Источник | |
| Data p => Data (V1 p) Источник | Начиная с: 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) -> V1 p -> c (V1 p) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V1 p) Источник toConstr :: V1 p -> Constr Источник dataTypeOf :: V1 p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V1 p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V1 p)) Источник gmapT :: (forall b. Data b => b -> b) -> V1 p -> V1 p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V1 p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V1 p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> V1 p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> V1 p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> V1 p -> m (V1 p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V1 p -> m (V1 p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V1 p -> m (V1 p) Источник | |
| Foldable (Const m :: Type -> Type) Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Functor.Const Методыfold :: Monoid m0 => Const m m0 -> m0 Источник foldMap :: Monoid m0 => (a -> m0) -> Const m a -> m0 Источник foldMap' :: Monoid m0 => (a -> m0) -> Const m a -> m0 Источник foldr :: (a -> b -> b) -> b -> Const m a -> b Источник foldr' :: (a -> b -> b) -> b -> Const m a -> b Источник foldl :: (b -> a -> b) -> b -> Const m a -> b Источник foldl' :: (b -> a -> b) -> b -> Const m a -> b Источник foldr1 :: (a -> a -> a) -> Const m a -> a Источник foldl1 :: (a -> a -> a) -> Const m a -> a Источник toList :: Const m a -> [a] Источник null :: Const m a -> Bool Источник length :: Const m a -> Int Источник elem :: Eq a => a -> Const m a -> Bool Источник maximum :: Ord a => Const m a -> a Источник minimum :: Ord a => Const m a -> 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 Исходный код | |
| Foldable f => Foldable (Alt f) Исходный код | Начиная с: 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 Исходный код | |
| Foldable f => Foldable (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => Rec1 f m -> m Исходный код foldMap :: Monoid m => (a -> m) -> Rec1 f a -> m Исходный код foldMap' :: Monoid m => (a -> m) -> Rec1 f a -> m Исходный код foldr :: (a -> b -> b) -> b -> Rec1 f a -> b Исходный код foldr' :: (a -> b -> b) -> b -> Rec1 f a -> b Исходный код foldl :: (b -> a -> b) -> b -> Rec1 f a -> b Исходный код foldl' :: (b -> a -> b) -> b -> Rec1 f a -> b Исходный код foldr1 :: (a -> a -> a) -> Rec1 f a -> a Исходный код foldl1 :: (a -> a -> a) -> Rec1 f a -> a Исходный код toList :: Rec1 f a -> [a] Исходный код null :: Rec1 f a -> Bool Исходный код length :: Rec1 f a -> Int Исходный код elem :: Eq a => a -> Rec1 f a -> Bool Исходный код maximum :: Ord a => Rec1 f a -> a Исходный код minimum :: Ord a => Rec1 f a -> a Исходный код sum :: Num a => Rec1 f a -> a Исходный код product :: Num a => Rec1 f a -> a Исходный код | |
| Traversable (Const m :: Type -> Type) Исходный код | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> Const m a -> f (Const m b) Исходный код sequenceA :: Applicative f => Const m (f a) -> f (Const m a) Исходный код mapM :: Monad m0 => (a -> m0 b) -> Const m a -> m0 (Const m b) Исходный код sequence :: Monad m0 => Const m (m0 a) -> m0 (Const m 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) Исходный код | |
| Traversable f => Traversable (Alt f) Исходный код | Начиная с: 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) Исходный код | |
| Traversable f => Traversable (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f0 => (a -> f0 b) -> Rec1 f a -> f0 (Rec1 f b) Исходный код sequenceA :: Applicative f0 => Rec1 f (f0 a) -> f0 (Rec1 f a) Исходный код mapM :: Monad m => (a -> m b) -> Rec1 f a -> m (Rec1 f b) Исходный код sequence :: Monad m => Rec1 f (m a) -> m (Rec1 f a) Исходный код | |
| (Foldable1 f, Foldable1 g) => Foldable1 (Product f g) Исходный код | Достаточно, чтобы хотя бы одна из частей произведения была |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => Product f g m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> Product f g a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> Product f g a -> m Исходный код toNonEmpty :: Product f g a -> NonEmpty a Исходный код maximum :: Ord a => Product f g a -> a Исходный код minimum :: Ord a => Product f g a -> a Исходный код head :: Product f g a -> a Исходный код last :: Product f g a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> Product f g a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> Product f g a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> Product f g a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> Product f g a -> b Исходный код | |
| (Foldable1 f, Foldable1 g) => Foldable1 (Sum f g) Исходный код | Начиная с: base-4.18.0.0 |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => Sum f g m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> Sum f g a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> Sum f g a -> m Исходный код toNonEmpty :: Sum f g a -> NonEmpty a Исходный код maximum :: Ord a => Sum f g a -> a Исходный код minimum :: Ord a => Sum f g a -> a Исходный код head :: Sum f g a -> a Исходный код last :: Sum f g a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> Sum f g a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> Sum f g a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> Sum f g a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> Sum f g a -> b Исходный код | |
| (Foldable1 f, Foldable1 g) => Foldable1 (f :*: g) Исходный код | Начиная с: base-4.18.0.0 |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => (f :*: g) m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> (f :*: g) a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> (f :*: g) a -> m Исходный код toNonEmpty :: (f :*: g) a -> NonEmpty a Исходный код maximum :: Ord a => (f :*: g) a -> a Исходный код minimum :: Ord a => (f :*: g) a -> a Исходный код head :: (f :*: g) a -> a Исходный код last :: (f :*: g) a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> (f :*: g) a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> (f :*: g) a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> (f :*: g) a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> (f :*: g) a -> b Исходный код | |
| (Foldable1 f, Foldable1 g) => Foldable1 (f :+: g) Исходный код | Начиная с: base-4.18.0.0 |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => (f :+: g) m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> (f :+: g) a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> (f :+: g) a -> m Исходный код toNonEmpty :: (f :+: g) a -> NonEmpty a Исходный код maximum :: Ord a => (f :+: g) a -> a Исходный код minimum :: Ord a => (f :+: g) a -> a Исходный код head :: (f :+: g) a -> a Исходный код last :: (f :+: g) a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> (f :+: g) a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> (f :+: g) a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> (f :+: g) a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> (f :+: g) a -> b Исходный код | |
| (Eq1 f, Eq1 g) => Eq1 (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product | |
| (Eq1 f, Eq1 g) => Eq1 (Sum f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Sum | |
| (Eq1 f, Eq1 g) => Eq1 (f :*: g) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| (Eq1 f, Eq1 g) => Eq1 (f :+: g) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Eq c => Eq1 (K1 i c :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| (Ord1 f, Ord1 g) => Ord1 (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product МетодыliftCompare :: (a -> b -> Ordering) -> Product f g a -> Product f g b -> Ordering Исходный код | |
| (Ord1 f, Ord1 g) => Ord1 (Sum f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Sum МетодыliftCompare :: (a -> b -> Ordering) -> Sum f g a -> Sum f g b -> Ordering Исходный код | |
| (Ord1 f, Ord1 g) => Ord1 (f :*: g) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> (f :*: g) a -> (f :*: g) b -> Ordering Исходный код | |
| (Ord1 f, Ord1 g) => Ord1 (f :+: g) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> (f :+: g) a -> (f :+: g) b -> Ordering Исходный код | |
| Ord c => Ord1 (K1 i c :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> K1 i c a -> K1 i c b -> Ordering Исходный код | |
| (Read1 f, Read1 g) => Read1 (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Product f g a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Product f g a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Product f g a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Product f g a] Исходный код | |
| (Read1 f, Read1 g) => Read1 (Sum f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Sum МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Sum f g a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Sum f g a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Sum f g a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Sum f g a] Исходный код | |
| (Read1 f, Read1 g) => Read1 (f :*: g) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS ((f :*: g) a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [(f :*: g) a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec ((f :*: g) a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [(f :*: g) a] Исходный код | |
| (Read1 f, Read1 g) => Read1 (f :+: g) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS ((f :+: g) a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [(f :+: g) a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec ((f :+: g) a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [(f :+: g) a] Исходный код | |
| Read c => Read1 (K1 i c :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (K1 i c a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [K1 i c a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (K1 i c a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [K1 i c a] Исходный код | |
| (Show1 f, Show1 g) => Show1 (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Product f g a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Product f g a] -> ShowS Исходный код | |
| (Show1 f, Show1 g) => Show1 (Sum f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Sum МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Sum f g a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Sum f g a] -> ShowS Исходный код | |
| (Show1 f, Show1 g) => Show1 (f :*: g) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> (f :*: g) a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [(f :*: g) a] -> ShowS Исходный код | |
| (Show1 f, Show1 g) => Show1 (f :+: g) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> (f :+: g) a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [(f :+: g) a] -> ShowS Исходный код | |
| Show c => Show1 (K1 i c :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> K1 i c a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [K1 i c a] -> ShowS Исходный код | |
| (Contravariant f, Contravariant g) => Contravariant (Product f g) Исходный код | |
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> Product f g a -> Product f g a' Исходный код (>$) :: b -> Product f g b -> Product f g a Исходный код | |
| (Contravariant f, Contravariant g) => Contravariant (Sum f g) Исходный код | |
| (Contravariant f, Contravariant g) => Contravariant (f :*: g) Источник | |
| (Contravariant f, Contravariant g) => Contravariant (f :+: g) Источник | |
| Contravariant (K1 i c :: Type -> Type) Источник | |
| (Alternative f, Alternative g) => Alternative (Product f g) Источник | С версии: base-4.9.0.0 |
| (Alternative f, Alternative g) => Alternative (f :*: g) Источник | С версии: base-4.9.0.0 |
| (Applicative f, Applicative g) => Applicative (Product f g) Источник | С версии: base-4.9.0.0 |
Определено в Data.Functor.Product Методыpure :: a -> Product f g a Источник (<*>) :: Product f g (a -> b) -> Product f g a -> Product f g b Источник liftA2 :: (a -> b -> c) -> Product f g a -> Product f g b -> Product f g c Источник (*>) :: Product f g a -> Product f g b -> Product f g b Источник (<*) :: Product f g a -> Product f g b -> Product f g a Источник | |
| (Applicative f, Applicative g) => Applicative (f :*: g) Источник | С версии: base-4.9.0.0 |
| Monoid c => Applicative (K1 i c :: Type -> Type) Источник | С версии: base-4.12.0.0 |
Определено в GHC.Internal.Generics | |
| (Functor f, Functor g) => Functor (Product f g) Источник | С версии: base-4.9.0.0 |
| (Functor f, Functor g) => Functor (Sum f g) Источник | С версии: base-4.9.0.0 |
| (Functor f, Functor g) => Functor (f :*: g) Источник | С версии: base-4.9.0.0 |
| (Functor f, Functor g) => Functor (f :+: g) Источник | С версии: base-4.9.0.0 |
| Functor (K1 i c :: Type -> Type) Источник | С версии: base-4.9.0.0 |
| (Monad f, Monad g) => Monad (Product f g) Источник | С версии: base-4.9.0.0 |
| (Monad f, Monad g) => Monad (f :*: g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методы(>>=) :: (f :*: g) a -> (a -> (f :*: g) b) -> (f :*: g) b Исходный код (>>) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) b Исходный код return :: a -> (f :*: g) a Исходный код | |
| (MonadPlus f, MonadPlus g) => MonadPlus (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product Методыmzero :: Product f g a Исходный код mplus :: Product f g a -> Product f g a -> Product f g a Исходный код | |
| (MonadPlus f, MonadPlus g) => MonadPlus (f :*: g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыmzero :: (f :*: g) a Исходный код mplus :: (f :*: g) a -> (f :*: g) a -> (f :*: g) 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 Исходный код | |
| 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 Исходный код | |
| (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 Исходный код | |
| 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 Исходный код | |
| (MonadFix f, MonadFix g) => MonadFix (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product Методыmfix :: (a -> Product f g a) -> Product f g a Исходный код | |
| (MonadFix f, MonadFix g) => MonadFix (f :*: g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Control.Monad.Fix Методыmfix :: (a -> (f :*: g) a) -> (f :*: g) a Исходный код | |
| (MonadZip f, MonadZip g) => MonadZip (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product Методыmzip :: Product f g a -> Product f g b -> Product f g (a, b) Исходный код mzipWith :: (a -> b -> c) -> Product f g a -> Product f g b -> Product f g c Исходный код munzip :: Product f g (a, b) -> (Product f g a, Product f g b) Исходный код | |
| (MonadZip f, MonadZip g) => MonadZip (f :*: g) Исходный код | Начиная с: ghc-internal-4.9.0.0 |
Определено в GHC.Internal.Control.Monad.Zip Методыmzip :: (f :*: g) a -> (f :*: g) b -> (f :*: g) (a, b) Исходный код mzipWith :: (a -> b -> c) -> (f :*: g) a -> (f :*: g) b -> (f :*: g) c Исходный код munzip :: (f :*: g) (a, b) -> ((f :*: g) a, (f :*: g) b) Исходный код | |
| (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) Исходный код | |
| (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) Источник | |
| (Coercible a b, Data a, Data b) => Data (Coercion a b) Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> Coercion a b -> c (Coercion a b) Источник gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Coercion a b) Источник toConstr :: Coercion a b -> Constr Источник dataTypeOf :: Coercion a b -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Coercion a b)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Coercion a b)) Источник gmapT :: (forall b0. Data b0 => b0 -> b0) -> Coercion a b -> Coercion a b Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Coercion a b -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Coercion a b -> r Источник gmapQ :: (forall d. Data d => d -> u) -> Coercion a b -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> Coercion a b -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> Coercion a b -> m (Coercion a b) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Coercion a b -> m (Coercion a b) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Coercion a b -> m (Coercion a b) Источник | |
| (a ~ b, Data a) => Data (a :~: b) Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> (a :~: b) -> c (a :~: b) Источник gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (a :~: b) Источник toConstr :: (a :~: b) -> Constr Источник dataTypeOf :: (a :~: b) -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (a :~: b)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (a :~: b)) Источник gmapT :: (forall b0. Data b0 => b0 -> b0) -> (a :~: b) -> a :~: b Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (a :~: b) -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (a :~: b) -> r Источник gmapQ :: (forall d. Data d => d -> u) -> (a :~: b) -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> (a :~: b) -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> (a :~: b) -> m (a :~: b) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (a :~: b) -> m (a :~: b) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (a :~: b) -> m (a :~: b) Источник | |
| (Data (f p), Typeable f, Data p) => Data (Rec1 f p) Источник | Начиная с: 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) -> Rec1 f p -> c (Rec1 f p) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Rec1 f p) Источник toConstr :: Rec1 f p -> Constr Источник dataTypeOf :: Rec1 f p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Rec1 f p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Rec1 f p)) Источник gmapT :: (forall b. Data b => b -> b) -> Rec1 f p -> Rec1 f p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Rec1 f p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Rec1 f p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> Rec1 f p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> Rec1 f p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> Rec1 f p -> m (Rec1 f p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Rec1 f p -> m (Rec1 f p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Rec1 f p -> m (Rec1 f p) Источник | |
| (Foldable f, Foldable g) => Foldable (Product f g) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product Методыfold :: Monoid m => Product f g m -> m Источник foldMap :: Monoid m => (a -> m) -> Product f g a -> m Источник foldMap' :: Monoid m => (a -> m) -> Product f g a -> m Источник foldr :: (a -> b -> b) -> b -> Product f g a -> b Источник foldr' :: (a -> b -> b) -> b -> Product f g a -> b Источник foldl :: (b -> a -> b) -> b -> Product f g a -> b Источник foldl' :: (b -> a -> b) -> b -> Product f g a -> b Источник foldr1 :: (a -> a -> a) -> Product f g a -> a Источник foldl1 :: (a -> a -> a) -> Product f g a -> a Источник toList :: Product f g a -> [a] Источник null :: Product f g a -> Bool Источник length :: Product f g a -> Int Источник elem :: Eq a => a -> Product f g a -> Bool Источник maximum :: Ord a => Product f g a -> a Источник minimum :: Ord a => Product f g a -> a Источник | |
| (Foldable f, Foldable g) => Foldable (Sum f g) Источник | С версии: base-4.9.0.0 |
Определено в Data.Functor.Sum Методыfold :: Monoid m => Sum f g m -> m Источник foldMap :: Monoid m => (a -> m) -> Sum f g a -> m Источник foldMap' :: Monoid m => (a -> m) -> Sum f g a -> m Источник foldr :: (a -> b -> b) -> b -> Sum f g a -> b Источник foldr' :: (a -> b -> b) -> b -> Sum f g a -> b Источник foldl :: (b -> a -> b) -> b -> Sum f g a -> b Источник foldl' :: (b -> a -> b) -> b -> Sum f g a -> b Источник foldr1 :: (a -> a -> a) -> Sum f g a -> a Источник foldl1 :: (a -> a -> a) -> Sum f g a -> a Источник toList :: Sum f g a -> [a] Источник null :: Sum f g a -> Bool Источник length :: Sum f g a -> Int Источник elem :: Eq a => a -> Sum f g a -> Bool Источник maximum :: Ord a => Sum f g a -> a Источник minimum :: Ord a => Sum f g a -> a Источник | |
| (Foldable f, Foldable g) => Foldable (f :*: g) Источник | С версии: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => (f :*: g) m -> m Источник foldMap :: Monoid m => (a -> m) -> (f :*: g) a -> m Источник foldMap' :: Monoid m => (a -> m) -> (f :*: g) a -> m Источник foldr :: (a -> b -> b) -> b -> (f :*: g) a -> b Источник foldr' :: (a -> b -> b) -> b -> (f :*: g) a -> b Источник foldl :: (b -> a -> b) -> b -> (f :*: g) a -> b Источник foldl' :: (b -> a -> b) -> b -> (f :*: g) a -> b Источник foldr1 :: (a -> a -> a) -> (f :*: g) a -> a Источник foldl1 :: (a -> a -> a) -> (f :*: g) a -> a Источник toList :: (f :*: g) a -> [a] Источник null :: (f :*: g) a -> Bool Источник length :: (f :*: g) a -> Int Источник elem :: Eq a => a -> (f :*: g) a -> Bool Источник maximum :: Ord a => (f :*: g) a -> a Источник minimum :: Ord a => (f :*: g) a -> a Источник | |
| (Foldable f, Foldable g) => Foldable (f :+: g) Источник | С версии: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => (f :+: g) m -> m Источник foldMap :: Monoid m => (a -> m) -> (f :+: g) a -> m Источник foldMap' :: Monoid m => (a -> m) -> (f :+: g) a -> m Источник foldr :: (a -> b -> b) -> b -> (f :+: g) a -> b Источник foldr' :: (a -> b -> b) -> b -> (f :+: g) a -> b Источник foldl :: (b -> a -> b) -> b -> (f :+: g) a -> b Источник foldl' :: (b -> a -> b) -> b -> (f :+: g) a -> b Источник foldr1 :: (a -> a -> a) -> (f :+: g) a -> a Источник foldl1 :: (a -> a -> a) -> (f :+: g) a -> a Источник toList :: (f :+: g) a -> [a] Источник null :: (f :+: g) a -> Bool Источник length :: (f :+: g) a -> Int Источник elem :: Eq a => a -> (f :+: g) a -> Bool Источник maximum :: Ord a => (f :+: g) a -> a Источник minimum :: Ord a => (f :+: g) a -> a Источник | |
| Foldable (K1 i c :: Type -> Type) Источник | С версии: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => K1 i c m -> m Источник foldMap :: Monoid m => (a -> m) -> K1 i c a -> m Источник foldMap' :: Monoid m => (a -> m) -> K1 i c a -> m Источник foldr :: (a -> b -> b) -> b -> K1 i c a -> b Источник foldr' :: (a -> b -> b) -> b -> K1 i c a -> b Источник foldl :: (b -> a -> b) -> b -> K1 i c a -> b Источник foldl' :: (b -> a -> b) -> b -> K1 i c a -> b Источник foldr1 :: (a -> a -> a) -> K1 i c a -> a Источник foldl1 :: (a -> a -> a) -> K1 i c a -> a Источник toList :: K1 i c a -> [a] Источник null :: K1 i c a -> Bool Источник length :: K1 i c a -> Int Источник elem :: Eq a => a -> K1 i c a -> Bool Источник maximum :: Ord a => K1 i c a -> a Источник minimum :: Ord a => K1 i c a -> a Источник | |
| (Traversable f, Traversable g) => Traversable (Product f g) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product Методыtraverse :: Applicative f0 => (a -> f0 b) -> Product f g a -> f0 (Product f g b) Источник sequenceA :: Applicative f0 => Product f g (f0 a) -> f0 (Product f g a) Источник mapM :: Monad m => (a -> m b) -> Product f g a -> m (Product f g b) Источник sequence :: Monad m => Product f g (m a) -> m (Product f g a) Источник | |
| (Traversable f, Traversable g) => Traversable (Sum f g) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Sum | |
| (Traversable f, Traversable g) => Traversable (f :*: g) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f0 => (a -> f0 b) -> (f :*: g) a -> f0 ((f :*: g) b) Источник sequenceA :: Applicative f0 => (f :*: g) (f0 a) -> f0 ((f :*: g) a) Источник mapM :: Monad m => (a -> m b) -> (f :*: g) a -> m ((f :*: g) b) Источник sequence :: Monad m => (f :*: g) (m a) -> m ((f :*: g) a) Источник | |
| (Traversable f, Traversable g) => Traversable (f :+: g) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f0 => (a -> f0 b) -> (f :+: g) a -> f0 ((f :+: g) b) Источник sequenceA :: Applicative f0 => (f :+: g) (f0 a) -> f0 ((f :+: g) a) Источник mapM :: Monad m => (a -> m b) -> (f :+: g) a -> m ((f :+: g) b) Источник sequence :: Monad m => (f :+: g) (m a) -> m ((f :+: g) a) Источник | |
| Traversable (K1 i c :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable | |
| (Applicative f, Bounded a) => Bounded (Ap f a) Источник | Начиная с: base-4.12.0.0 |
| (Applicative f, Num a) => Num (Ap f a) Источник |
Обратите внимание: даже если нижележащие экземпляры Коммутативность: >>> 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 | |
| (Foldable1 f, Foldable1 g) => Foldable1 (Compose f g) Источник | Начиная с: base-4.18.0.0 |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => Compose f g m -> m Источник foldMap1 :: Semigroup m => (a -> m) -> Compose f g a -> m Источник foldMap1' :: Semigroup m => (a -> m) -> Compose f g a -> m Источник toNonEmpty :: Compose f g a -> NonEmpty a Источник maximum :: Ord a => Compose f g a -> a Источник minimum :: Ord a => Compose f g a -> a Источник head :: Compose f g a -> a Источник last :: Compose f g a -> a Источник foldrMap1 :: (a -> b) -> (a -> b -> b) -> Compose f g a -> b Источник foldlMap1' :: (a -> b) -> (b -> a -> b) -> Compose f g a -> b Источник foldlMap1 :: (a -> b) -> (b -> a -> b) -> Compose f g a -> b Источник foldrMap1' :: (a -> b) -> (a -> b -> b) -> Compose f g a -> b Источник | |
| (Foldable1 f, Foldable1 g) => Foldable1 (f :.: g) Источник | Начиная с: base-4.18.0.0 |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => (f :.: g) m -> m Источник foldMap1 :: Semigroup m => (a -> m) -> (f :.: g) a -> m Источник foldMap1' :: Semigroup m => (a -> m) -> (f :.: g) a -> m Источник toNonEmpty :: (f :.: g) a -> NonEmpty a Источник maximum :: Ord a => (f :.: g) a -> a Источник minimum :: Ord a => (f :.: g) a -> a Источник head :: (f :.: g) a -> a Источник last :: (f :.: g) a -> a Источник foldrMap1 :: (a -> b) -> (a -> b -> b) -> (f :.: g) a -> b Источник foldlMap1' :: (a -> b) -> (b -> a -> b) -> (f :.: g) a -> b Источник foldlMap1 :: (a -> b) -> (b -> a -> b) -> (f :.: g) a -> b Источник foldrMap1' :: (a -> b) -> (a -> b -> b) -> (f :.: g) a -> b Источник | |
| Foldable1 f => Foldable1 (M1 i c f) Источник | Начиная с: base-4.18.0.0 |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => M1 i c f m -> m Источник foldMap1 :: Semigroup m => (a -> m) -> M1 i c f a -> m Источник foldMap1' :: Semigroup m => (a -> m) -> M1 i c f a -> m Источник toNonEmpty :: M1 i c f a -> NonEmpty a Источник maximum :: Ord a => M1 i c f a -> a Источник minimum :: Ord a => M1 i c f a -> a Источник head :: M1 i c f a -> a Источник last :: M1 i c f a -> a Источник foldrMap1 :: (a -> b) -> (a -> b -> b) -> M1 i c f a -> b Источник foldlMap1' :: (a -> b) -> (b -> a -> b) -> M1 i c f a -> b Источник foldlMap1 :: (a -> b) -> (b -> a -> b) -> M1 i c f a -> b Источник foldrMap1' :: (a -> b) -> (a -> b -> b) -> M1 i c f a -> b Источник | |
| (Eq1 f, Eq1 g) => Eq1 (Compose f g) Источник | Начиная с: base-4.9.0.0 |
| (Eq1 f, Eq1 g) => Eq1 (f :.: g) Источник | Начиная с: base-4.21.0.0 |
| Eq1 f => Eq1 (M1 i c f) Источник | Начиная с: base-4.21.0.0 |
| (Ord1 f, Ord1 g) => Ord1 (Compose f g) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Compose | |
| (Ord1 f, Ord1 g) => Ord1 (f :.: g) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 f => Ord1 (M1 i c f) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| (Read1 f, Read1 g) => Read1 (Compose f g) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Compose МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Compose f g a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Compose f g a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Compose f g a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Compose f g a] Источник | |
| (Read1 f, Read1 g) => Read1 (f :.: g) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS ((f :.: g) a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [(f :.: g) a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec ((f :.: g) a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [(f :.: g) a] Источник | |
| Read1 f => Read1 (M1 i c f) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (M1 i c f a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [M1 i c f a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (M1 i c f a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [M1 i c f a] Источник | |
| (Show1 f, Show1 g) => Show1 (Compose f g) Источник | Начиная с: base-4.9.0.0 |
| (Show1 f, Show1 g) => Show1 (f :.: g) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> (f :.: g) a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [(f :.: g) a] -> ShowS Исходный код | |
| Show1 f => Show1 (M1 i c f) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> M1 i c f a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [M1 i c f a] -> ShowS Исходный код | |
| (Functor f, Contravariant g) => Contravariant (Compose f g) Исходный код | |
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> Compose f g a -> Compose f g a' Исходный код (>$) :: b -> Compose f g b -> Compose f g a Исходный код | |
| (Functor f, Contravariant g) => Contravariant (f :.: g) Исходный код | |
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> (f :.: g) a -> (f :.: g) a' Исходный код (>$) :: b -> (f :.: g) b -> (f :.: g) a Исходный код | |
| Contravariant f => Contravariant (M1 i c f) Исходный код | |
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> M1 i c f a -> M1 i c f a' Исходный код (>$) :: b -> M1 i c f b -> M1 i c f a Исходный код | |
| (Alternative f, Applicative g) => Alternative (Compose f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Compose Методыempty :: Compose f g a Исходный код (<|>) :: Compose f g a -> Compose f g a -> Compose f g a Исходный код some :: Compose f g a -> Compose f g [a] Исходный код many :: Compose f g a -> Compose f g [a] Исходный код | |
| (Alternative f, Applicative g) => Alternative (f :.: g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыempty :: (f :.: g) a Исходный код (<|>) :: (f :.: g) a -> (f :.: g) a -> (f :.: g) a Исходный код some :: (f :.: g) a -> (f :.: g) [a] Исходный код many :: (f :.: g) a -> (f :.: g) [a] Исходный код | |
| Alternative f => Alternative (M1 i c f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыempty :: M1 i c f a Исходный код (<|>) :: M1 i c f a -> M1 i c f a -> M1 i c f a Исходный код some :: M1 i c f a -> M1 i c f [a] Исходный код many :: M1 i c f a -> M1 i c f [a] Исходный код | |
| (Applicative f, Applicative g) => Applicative (Compose f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Compose Методыpure :: a -> Compose f g a Исходный код (<*>) :: Compose f g (a -> b) -> Compose f g a -> Compose f g b Исходный код liftA2 :: (a -> b -> c) -> Compose f g a -> Compose f g b -> Compose f g c Исходный код (*>) :: Compose f g a -> Compose f g b -> Compose f g b Исходный код (<*) :: Compose f g a -> Compose f g b -> Compose f g a Исходный код | |
| (Applicative f, Applicative g) => Applicative (f :.: g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыpure :: a -> (f :.: g) a Исходный код (<*>) :: (f :.: g) (a -> b) -> (f :.: g) a -> (f :.: g) b Исходный код liftA2 :: (a -> b -> c) -> (f :.: g) a -> (f :.: g) b -> (f :.: g) c Исходный код (*>) :: (f :.: g) a -> (f :.: g) b -> (f :.: g) b Исходный код (<*) :: (f :.: g) a -> (f :.: g) b -> (f :.: g) a Исходный код | |
| Applicative f => Applicative (M1 i c f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыpure :: a -> M1 i c f a Исходный код (<*>) :: M1 i c f (a -> b) -> M1 i c f a -> M1 i c f b Исходный код liftA2 :: (a -> b -> c0) -> M1 i c f a -> M1 i c f b -> M1 i c f c0 Исходный код (*>) :: M1 i c f a -> M1 i c f b -> M1 i c f b Исходный код (<*) :: M1 i c f a -> M1 i c f b -> M1 i c f a Исходный код | |
| (Functor f, Functor g) => Functor (Compose f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Compose Методыfmap :: (a -> b) -> Compose f g a -> Compose f g b Исходный код (<$) :: a -> Compose f g b -> Compose f g a Исходный код | |
| (Functor f, Functor g) => Functor (f :.: g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыfmap :: (a -> b) -> (f :.: g) a -> (f :.: g) b Исходный код (<$) :: a -> (f :.: g) b -> (f :.: g) a Исходный код | |
| Functor f => Functor (M1 i c f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыfmap :: (a -> b) -> M1 i c f a -> M1 i c f b Исходный код (<$) :: a -> M1 i c f b -> M1 i c f a Исходный код | |
| Monad f => Monad (M1 i c f) Исходный код | Начиная с: base-4.9.0.0 |
| MonadPlus f => MonadPlus (M1 i c f) Источник | Начиная с: base-4.9.0.0 |
| MonadFix f => MonadFix (M1 i c f) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Control.Monad.Fix | |
| MonadZip f => MonadZip (M1 i c f) Источник | Начиная с: ghc-internal-4.9.0.0 |
| (Typeable f, Typeable g, Data p, Data (f p), Data (g p)) => Data ((f :*: g) p) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g0. g0 -> c g0) -> (f :*: g) p -> c ((f :*: g) p) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ((f :*: g) p) Источник toConstr :: (f :*: g) p -> Constr Источник dataTypeOf :: (f :*: g) p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ((f :*: g) p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ((f :*: g) p)) Источник gmapT :: (forall b. Data b => b -> b) -> (f :*: g) p -> (f :*: g) p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (f :*: g) p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (f :*: g) p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> (f :*: g) p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> (f :*: g) p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> (f :*: g) p -> m ((f :*: g) p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :*: g) p -> m ((f :*: g) p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :*: g) p -> m ((f :*: g) p) Источник | |
| (Typeable f, Typeable g, Data p, Data (f p), Data (g p)) => Data ((f :+: g) p) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g0. g0 -> c g0) -> (f :+: g) p -> c ((f :+: g) p) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ((f :+: g) p) Источник toConstr :: (f :+: g) p -> Constr Источник dataTypeOf :: (f :+: g) p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ((f :+: g) p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ((f :+: g) p)) Источник gmapT :: (forall b. Data b => b -> b) -> (f :+: g) p -> (f :+: g) p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (f :+: g) p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (f :+: g) p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> (f :+: g) p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> (f :+: g) p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> (f :+: g) p -> m ((f :+: g) p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :+: g) p -> m ((f :+: g) p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :+: g) p -> m ((f :+: g) p) Источник | |
| (Typeable i, Data p, Data c) => Data (K1 i c p) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> (forall g. g -> c0 g) -> K1 i c p -> c0 (K1 i c p) Источник gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (K1 i c p) Источник toConstr :: K1 i c p -> Constr Источник dataTypeOf :: K1 i c p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (K1 i c p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (K1 i c p)) Источник gmapT :: (forall b. Data b => b -> b) -> K1 i c p -> K1 i c p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> K1 i c p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> K1 i c p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> K1 i c p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> K1 i c p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> K1 i c p -> m (K1 i c p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> K1 i c p -> m (K1 i c p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> K1 i c p -> m (K1 i c p) Источник | |
| (Foldable f, Foldable g) => Foldable (Compose f g) Источник | Начиная с: base-4.9.0.0 |
Определён в Data.Functor.Compose Методыfold :: Monoid m => Compose f g m -> m Источник foldMap :: Monoid m => (a -> m) -> Compose f g a -> m Источник foldMap' :: Monoid m => (a -> m) -> Compose f g a -> m Источник foldr :: (a -> b -> b) -> b -> Compose f g a -> b Источник foldr' :: (a -> b -> b) -> b -> Compose f g a -> b Источник foldl :: (b -> a -> b) -> b -> Compose f g a -> b Источник foldl' :: (b -> a -> b) -> b -> Compose f g a -> b Источник foldr1 :: (a -> a -> a) -> Compose f g a -> a Источник foldl1 :: (a -> a -> a) -> Compose f g a -> a Источник toList :: Compose f g a -> [a] Источник null :: Compose f g a -> Bool Источник length :: Compose f g a -> Int Источник elem :: Eq a => a -> Compose f g a -> Bool Источник maximum :: Ord a => Compose f g a -> a Источник minimum :: Ord a => Compose f g a -> a Источник | |
| (Foldable f, Foldable g) => Foldable (f :.: g) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => (f :.: g) m -> m Источник foldMap :: Monoid m => (a -> m) -> (f :.: g) a -> m Источник foldMap' :: Monoid m => (a -> m) -> (f :.: g) a -> m Источник foldr :: (a -> b -> b) -> b -> (f :.: g) a -> b Источник foldr' :: (a -> b -> b) -> b -> (f :.: g) a -> b Источник foldl :: (b -> a -> b) -> b -> (f :.: g) a -> b Источник foldl' :: (b -> a -> b) -> b -> (f :.: g) a -> b Источник foldr1 :: (a -> a -> a) -> (f :.: g) a -> a Источник foldl1 :: (a -> a -> a) -> (f :.: g) a -> a Источник toList :: (f :.: g) a -> [a] Источник null :: (f :.: g) a -> Bool Источник length :: (f :.: g) a -> Int Источник elem :: Eq a => a -> (f :.: g) a -> Bool Источник maximum :: Ord a => (f :.: g) a -> a Источник minimum :: Ord a => (f :.: g) a -> a Источник | |
| Foldable f => Foldable (M1 i c f) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => M1 i c f m -> m Источник foldMap :: Monoid m => (a -> m) -> M1 i c f a -> m Источник foldMap' :: Monoid m => (a -> m) -> M1 i c f a -> m Источник foldr :: (a -> b -> b) -> b -> M1 i c f a -> b Источник foldr' :: (a -> b -> b) -> b -> M1 i c f a -> b Источник foldl :: (b -> a -> b) -> b -> M1 i c f a -> b Источник foldl' :: (b -> a -> b) -> b -> M1 i c f a -> b Источник foldr1 :: (a -> a -> a) -> M1 i c f a -> a Источник foldl1 :: (a -> a -> a) -> M1 i c f a -> a Источник toList :: M1 i c f a -> [a] Источник null :: M1 i c f a -> Bool Источник length :: M1 i c f a -> Int Источник elem :: Eq a => a -> M1 i c f a -> Bool Источник maximum :: Ord a => M1 i c f a -> a Источник minimum :: Ord a => M1 i c f a -> a Источник | |
| (Traversable f, Traversable g) => Traversable (Compose f g) Источник | Начиная с: base-4.9.0.0 |
Определён в Data.Functor.Compose Методыtraverse :: Applicative f0 => (a -> f0 b) -> Compose f g a -> f0 (Compose f g b) Источник sequenceA :: Applicative f0 => Compose f g (f0 a) -> f0 (Compose f g a) Источник mapM :: Monad m => (a -> m b) -> Compose f g a -> m (Compose f g b) Источник sequence :: Monad m => Compose f g (m a) -> m (Compose f g a) Источник | |
| (Traversable f, Traversable g) => Traversable (f :.: g) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f0 => (a -> f0 b) -> (f :.: g) a -> f0 ((f :.: g) b) Источник sequenceA :: Applicative f0 => (f :.: g) (f0 a) -> f0 ((f :.: g) a) Источник mapM :: Monad m => (a -> m b) -> (f :.: g) a -> m ((f :.: g) b) Источник sequence :: Monad m => (f :.: g) (m a) -> m ((f :.: g) a) Источник | |
| Traversable f => Traversable (M1 i c f) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f0 => (a -> f0 b) -> M1 i c f a -> f0 (M1 i c f b) Источник sequenceA :: Applicative f0 => M1 i c f (f0 a) -> f0 (M1 i c f a) Источник mapM :: Monad m => (a -> m b) -> M1 i c f a -> m (M1 i c f b) Источник sequence :: Monad m => M1 i c f (m a) -> m (M1 i c f a) Источник | |
| (Typeable f, Typeable g, Data p, Data (f (g p))) => Data ((f :.: g) p) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g0. g0 -> c g0) -> (f :.: g) p -> c ((f :.: g) p) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ((f :.: g) p) Источник toConstr :: (f :.: g) p -> Constr Источник dataTypeOf :: (f :.: g) p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ((f :.: g) p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ((f :.: g) p)) Источник gmapT :: (forall b. Data b => b -> b) -> (f :.: g) p -> (f :.: g) p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (f :.: g) p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (f :.: g) p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> (f :.: g) p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> (f :.: g) p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> (f :.: g) p -> m ((f :.: g) p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :.: g) p -> m ((f :.: g) p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :.: g) p -> m ((f :.: g) p) Источник | |
| (Data p, Data (f p), Typeable c, Typeable i, Typeable f) => Data (M1 i c f p) Источник | С версии: base-4.9.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> (forall g. g -> c0 g) -> M1 i c f p -> c0 (M1 i c f p) Источник gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (M1 i c f p) Источник toConstr :: M1 i c f p -> Constr Источник dataTypeOf :: M1 i c f p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (M1 i c f p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (M1 i c f p)) Источник gmapT :: (forall b. Data b => b -> b) -> M1 i c f p -> M1 i c f p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> M1 i c f p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> M1 i c f p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> M1 i c f p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> M1 i c f p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) Источник | |
| type Rep1 Complex Источник | С версии: base-4.9.0.0 |
Определено в Data.Complex type Rep1 Complex = D1 ('MetaData "Complex" "Data.Complex" "base-4.22.0.0-66f8" 'False) (C1 ('MetaCons ":+" ('InfixI 'NotAssociative 6) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)) | |
| type Rep1 First Источник | С версии: base-4.9.0.0 |
Определено в Data.Semigroup | |
| type Rep1 Last Источник | С версии: base-4.9.0.0 |
Определено в Data.Semigroup | |
| type Rep1 Max Источник | С версии: base-4.9.0.0 |
Определено в Data.Semigroup | |
| type Rep1 Min Источник | С версии: base-4.9.0.0 |
Определено в Data.Semigroup | |
| type Rep1 WrappedMonoid Источник | С версии: base-4.9.0.0 |
Определено в Data.Semigroup type Rep1 WrappedMonoid = D1 ('MetaData "WrappedMonoid" "Data.Semigroup" "base-4.22.0.0-66f8" 'True) (C1 ('MetaCons "WrapMonoid" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonoid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) | |
| type Rep1 NonEmpty Источник | С версии: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 NonEmpty = D1 ('MetaData "NonEmpty" "GHC.Internal.Base" "ghc-internal" 'False) (C1 ('MetaCons ":|" ('InfixI 'RightAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 []))) | |
| type Rep1 Identity Источник | С версии: base-4.8.0.0 |
Определено в GHC.Internal.Data.Functor.Identity | |
| type Rep1 First Источник | С версии: base-4.7.0.0 |
Определено в GHC.Internal.Data.Monoid | |
| type Rep1 Last Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Monoid | |
| type Rep1 Down Источник | Начиная с: base-4.12.0.0 |
Определено в GHC.Internal.Generics | |
| type Rep1 Dual Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Semigroup.Internal | |
| type Rep1 Product Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Semigroup.Internal | |
| type Rep1 Sum Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Semigroup.Internal | |
| type Rep1 ZipList Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Functor.ZipList | |
| type Rep1 Par1 Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| type Rep1 Maybe Источник | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics | |
| type Rep1 Solo Источник | Начиная с: base-4.15 |
Определено в GHC.Internal.Generics | |
| type Rep1 [] Источник | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 [] = D1 ('MetaData "List" "GHC.Internal.Types" "ghc-internal" 'False) (C1 ('MetaCons "[]" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons ":" ('InfixI 'RightAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 []))) | |
| type Rep1 (WrappedMonad m :: Type -> Type) Источник | Начиная с: base-4.7.0.0 |
Определено в Control.Applicative type Rep1 (WrappedMonad m :: Type -> Type) = D1 ('MetaData "WrappedMonad" "Control.Applicative" "base-4.22.0.0-66f8" 'True) (C1 ('MetaCons "WrapMonad" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonad") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 m))) | |
| type Rep1 (Arg a :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Semigroup type Rep1 (Arg a :: Type -> Type) = D1 ('MetaData "Arg" "Data.Semigroup" "base-4.22.0.0-66f8" 'False) (C1 ('MetaCons "Arg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) | |
| type Rep1 (Either a :: Type -> Type) Источник | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 (Either a :: Type -> Type) = D1 ('MetaData "Either" "GHC.Internal.Data.Either" "ghc-internal" 'False) (C1 ('MetaCons "Left" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Right" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) | |
| type Rep1 ((,) a :: Type -> Type) Источник | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,) a :: Type -> Type) = D1 ('MetaData "Tuple2" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,)" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) | |
| type Rep1 (WrappedArrow a b :: Type -> Type) Исходный код | Начиная с: base-4.7.0.0 |
Определено в Control.Applicative type Rep1 (WrappedArrow a b :: Type -> Type) = D1 ('MetaData "WrappedArrow" "Control.Applicative" "base-4.22.0.0-66f8" 'True) (C1 ('MetaCons "WrapArrow" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapArrow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 (a b)))) | |
| type Rep1 (Kleisli m a :: Type -> Type) Исходный код | Начиная с: base-4.14.0.0 |
Определено в GHC.Internal.Control.Arrow | |
| type Rep1 ((,,) a b :: Type -> Type) Исходный код | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,) a b :: Type -> Type) = D1 ('MetaData "Tuple3" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,)" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))) | |
| type Rep1 ((,,,) a b c :: Type -> Type) Исходный код | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,) a b c :: Type -> Type) = D1 ('MetaData "Tuple4" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,)" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))) | |
| type Rep1 ((,,,,) a b c d :: Type -> Type) Исходный код | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,) a b c d :: Type -> Type) = D1 ('MetaData "Tuple5" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,)" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))) | |
| type Rep1 (Compose f g :: k -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Compose | |
| type Rep1 (f :.: g :: k -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| type Rep1 ((,,,,,) a b c d e :: Type -> Type) Исходный код | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,) a b c d e :: Type -> Type) = D1 ('MetaData "Tuple6" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,)" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))) | |
| type Rep1 ((,,,,,,) a b c d e f :: Type -> Type) Исходный код | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,) a b c d e f :: Type -> Type) = D1 ('MetaData "Tuple7" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,)" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))) | |
| type Rep1 ((,,,,,,,) a b c d e f g :: Type -> Type) Исходный код | Начиная с: base-4.16.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,,) a b c d e f g :: Type -> Type) = D1 ('MetaData "Tuple8" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))) | |
| type Rep1 ((,,,,,,,,) a b c d e f g h :: Type -> Type) Исходный код | Начиная с: base-4.16.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,,,) a b c d e f g h :: Type -> Type) = D1 ('MetaData "Tuple9" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) | |
| type Rep1 ((,,,,,,,,,) a b c d e f g h i :: Type -> Type) Исходный код | Начиная с: base-4.16.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,,,,) a b c d e f g h i :: Type -> Type) = D1 ('MetaData "Tuple10" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) | |
| type Rep1 ((,,,,,,,,,,) a b c d e f g h i j :: Type -> Type) Исходный код | Начиная с: base-4.16.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,,,,,) a b c d e f g h i j :: Type -> Type) = D1 ('MetaData "Tuple11" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) | |
| type Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k :: Type -> Type) Исходный код | Начиная с: base-4.16.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k :: Type -> Type) = D1 ('MetaData "Tuple12" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) | |
| type Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l :: Type -> Type) Исходный код | Начиная с: base-4.16.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l :: Type -> Type) = D1 ('MetaData "Tuple13" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) | |
| type Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m :: Type -> Type) Исходный код | Начиная с: base-4.16.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m :: Type -> Type) = D1 ('MetaData "Tuple14" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 m) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) | |
| type Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n :: Type -> Type) Источник | Начиная с: base-4.16.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n :: Type -> Type) = D1 ('MetaData "Tuple15" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g)))) :*: (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 m)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 n) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) | |
type family Any :: k where ... Источник
Конструктор типов Any :: forall k. k — это тип, к которому можно небезопасно привести любой тип и обратно.
Для unsafeCoerce это означает, что для всех lifted-типов t unsafeCoerce (unsafeCoerce x :: Any) :: t эквивалентен x и безопасен.
То же верно для *всех* типов при использовании
unsafeCoerce# :: forall (r1 :: RuntimeRep) (r2 :: RuntimeRep)
(a :: TYPE r1) (b :: TYPE r2).
a -> b
, но только если вы задаёте для r1 и r2 одно и то же runtime-представление. Например, использовать (unsafeCoerce# :: forall (a :: TYPE IntRep) (b :: TYPE IntRep). a -> b) x можно, но (unsafeCoerce# :: forall (a :: TYPE IntRep) (b :: TYPE FloatRep). a -> b), скорее всего, приведёт к сбоям сегментации или более серьёзным проблемам. По этой причине пользователям всегда следует предпочитать unsafeCoerce вместо unsafeCoerce#, если это возможно.
Вот ещё несколько примеров:
bad_a1 :: Any (TYPE 'IntRep) bad_a1 = unsafeCoerce# True
bad_a2 :: Any (TYPE ('BoxedRep 'UnliftedRep))
bad_a2 = unsafeCoerce# True
Здесь bad_a1 — неправильный вариант, потому что мы начали с True :: (Bool :: Type), представленного указателем на объект в куче, и привели его к a1 :: Any (TYPE 'IntRep), whose representation is a non-pointer integer.
That's why we had to use unsafeCoerce#; it is really unsafe because it can change representations.
Similarly bad_a2 is bad because although both True and bad_a2 are represented by a heap pointer,
True is lifted but bad_a2@ — это не так; ошибки здесь могут быть довольно незаметными.
Если вам необходимо использовать unsafeCoerce# для приведения к Any, рекомендуется использовать аннотации типов, чтобы убедиться, что Any имеет правильный kind. Приведение между разными runtime-представлениями небезопасно. Например, для приведения ByteArray# к Any можно использовать:
unsafeCoerce# b :: (Any :: TYPE ('BoxedRep 'Unlifted))
Экземпляры
| Bits Bool Исходный код |
Интерпретировать Начиная с: base-4.7.0.0 |
Определён в GHC.Internal.Bits Методы(.&.) :: Bool -> Bool -> Bool Исходный код (.|.) :: Bool -> Bool -> Bool Исходный код xor :: Bool -> Bool -> Bool Исходный код complement :: Bool -> Bool Исходный код shift :: Bool -> Int -> Bool Исходный код rotate :: Bool -> Int -> Bool Исходный код bit :: Int -> Bool Исходный код setBit :: Bool -> Int -> Bool Исходный код clearBit :: Bool -> Int -> Bool Исходный код complementBit :: Bool -> Int -> Bool Исходный код testBit :: Bool -> Int -> Bool Исходный код bitSizeMaybe :: Bool -> Maybe Int Исходный код bitSize :: Bool -> Int Исходный код isSigned :: Bool -> Bool Исходный код shiftL :: Bool -> Int -> Bool Исходный код unsafeShiftL :: Bool -> Int -> Bool Исходный код shiftR :: Bool -> Int -> Bool Исходный код unsafeShiftR :: Bool -> Int -> Bool Исходный код rotateL :: Bool -> Int -> Bool Исходный код rotateR :: Bool -> Int -> Bool Исходный код popCount :: Bool -> Int Исходный код | |
| FiniteBits Bool Исходный код | Начиная с: base-4.7.0.0 |
Определён в GHC.Internal.Bits | |
| Eq Bool Исходный код | |
Определён в GHC.Internal.Classes | |
| Ord Bool Исходный код | |
Определён в GHC.Internal.Classes Методыcompare :: Bool -> Bool -> Ordering Исходный код (<) :: Bool -> Bool -> Bool Исходный код (<=) :: Bool -> Bool -> Bool Исходный код (>) :: Bool -> Bool -> Bool Исходный код (>=) :: Bool -> Bool -> Bool Исходный код max :: Bool -> Bool -> Bool Исходный код min :: Bool -> Bool -> Bool Исходный код | |
| Data Bool Исходный код | Начиная с: base-4.0.0.0 |
Определён в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bool -> c Bool Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bool Исходный код toConstr :: Bool -> Constr Исходный код dataTypeOf :: Bool -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bool) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Bool) Исходный код gmapT :: (forall b. Data b => b -> b) -> Bool -> Bool Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bool -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bool -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Bool -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Bool -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bool -> m Bool Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bool -> m Bool Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bool -> m Bool Исходный код | |
| Bounded Bool Исходный код | Начиная с: base-2.1 |
Определён в GHC.Internal.Enum | |
| Enum Bool Исходный код | Начиная с: base-2.1 |
Определён в GHC.Internal.Enum Методыsucc :: Bool -> Bool Исходный код pred :: Bool -> Bool Исходный код toEnum :: Int -> Bool Исходный код fromEnum :: Bool -> Int Исходный код enumFrom :: Bool -> [Bool] Исходный код enumFromThen :: Bool -> Bool -> [Bool] Исходный код enumFromTo :: Bool -> Bool -> [Bool] Исходный код enumFromThenTo :: Bool -> Bool -> Bool -> [Bool] Исходный код | |
| Storable Bool Исходный код | Начиная с: base-2.1 |
Определён в GHC.Internal.Foreign.Storable МетодыsizeOf :: Bool -> Int Исходный код alignment :: Bool -> Int Исходный код peekElemOff :: Ptr Bool -> Int -> IO Bool Исходный код pokeElemOff :: Ptr Bool -> Int -> Bool -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Bool Исходный код pokeByteOff :: Ptr b -> Int -> Bool -> IO () Исходный код | |
| Generic Bool Исходный код | |
Определено в GHC.Internal.Generics | |||||
| SingKind Bool | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Ix Bool Источник | Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Ix | |||||
| Read Bool Источник | Начиная с: base-2.1 |
||||
| Show Bool Источник | Начиная с: base-2.1 |
||||
| SingI 'False | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| SingI 'True | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| Lift Bool Источник | |||||
| type DemoteRep Bool Источник | |||||
Определено в GHC.Internal.Generics | |||||
| type Rep Bool Источник | Начиная с: base-4.6.0.0 |
||||
| data Sing (a :: Bool) Источник | |||||
Тип символа Char представляет пространство кодов Unicode, а его элементы являются кодовыми точками, как в определениях D9 и D10 стандарта Unicode.
Символьные литералы в Haskell заключаются в одинарные кавычки: 'Q', 'Я' или 'Ω'. Чтобы представить саму одинарную кавычку, используйте '\'', а для обратной косой черты — '\\'. Полную грамматику можно найти в разделе 2.6 языкового стандарта Haskell 2010.
Чтобы задать символ по его кодовой точке, можно использовать десятичную, шестнадцатеричную или восьмеричную запись: '\65', '\x41' и '\o101' — альтернативные формы 'A'. Наибольшая кодовая точка — '\x10ffff'.
Для управляющих символов ASCII предусмотрен специальный синтаксис escape-последовательностей:
| Escape-последовательность | Варианты | Значение |
|---|---|---|
'\NUL' |
'\0' |
нулевой символ |
'\SOH' |
'\1' |
начало заголовка |
'\STX' |
'\2' |
начало текста |
'\ETX' |
'\3' |
конец текста |
'\EOT' |
'\4' |
конец передачи |
'\ENQ' |
'\5' |
запрос |
'\ACK' |
'\6' |
подтверждение |
'\BEL' |
'\7', '\a'
|
звонок (сигнал) |
'\BS' |
'\8', '\b'
|
забой |
'\HT' |
'\9', '\t'
|
горизонтальная табуляция |
'\LF' |
'\10', '\n'
|
перевод строки (новая строка) |
'\VT' |
'\11', '\v'
|
вертикальная табуляция |
'\FF' |
'\12', '\f'
|
перевод страницы |
'\CR' |
'\13', '\r'
|
возврат каретки |
'\SO' |
'\14' |
переключение в режим вывода |
'\SI' |
'\15' |
переключение в режим ввода |
'\DLE' |
'\16' |
экранирование канала данных |
'\DC1' |
'\17' |
управление устройством 1 |
'\DC2' |
'\18' |
управление устройством 2 |
'\DC3' |
'\19' |
управление устройством 3 |
'\DC4' |
'\20' |
управление устройством 4 |
'\NAK' |
'\21' |
отрицательное подтверждение |
'\SYN' |
'\22' |
синхронный простой |
'\ETB' |
'\23' |
конец блока передачи |
'\CAN' |
'\24' |
отмена |
'\EM' |
'\25' |
конец носителя |
'\SUB' |
'\26' |
замена |
'\ESC' |
'\27' |
выход |
'\FS' |
'\28' |
разделитель файлов |
'\GS' |
'\29' |
разделитель групп |
'\RS' |
'\30' |
разделитель записей |
'\US' |
'\31' |
разделитель единиц |
'\SP' |
'\32', ' '
|
пробел |
'\DEL' |
'\127' |
удаление |
Data.Char предоставляет вспомогательные функции для работы с Char.
Экземпляры
| IsChar Char Источник | С версии: base-2.1 |
| PrintfArg Char Источник | С версии: base-2.1 |
Определено в Text.Printf | |
| Eq Char Источник | |
| Ord Char Источник | |
Определено в GHC.Internal.Classes | |
| Data Char Источник | С версии: base-4.0.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Char -> c Char Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Char Источник toConstr :: Char -> Constr Источник dataTypeOf :: Char -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Char) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Char) Источник gmapT :: (forall b. Data b => b -> b) -> Char -> Char Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Char -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Char -> r Источник gmapQ :: (forall d. Data d => d -> u) -> Char -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> Char -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> Char -> m Char Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Char -> m Char Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Char -> m Char Источник | |
| Bounded Char Источник | С версии: base-2.1 |
| Enum Char Источник | С версии: base-2.1 |
| Storable Char Источник | С версии: base-2.1 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Char -> Int Источник alignment :: Char -> Int Источник peekElemOff :: Ptr Char -> Int -> IO Char Источник pokeElemOff :: Ptr Char -> Int -> Char -> IO () Источник peekByteOff :: Ptr b -> Int -> IO Char Источник pokeByteOff :: Ptr b -> Int -> Char -> IO () Источник | |
| Ix Char Источник | С версии: base-2.1 |
Определено в GHC.Internal.Ix | |
| Read Char Источник | С версии: base-2.1 |
| Show Char Источник | С версии: base-2.1 |
| TestCoercion SChar Источник | С версии: base-4.18.0.0 |
Определено в GHC.Internal.TypeLits | |||||
| TestEquality SChar Источник | Начиная с: base-4.18.0.0 |
||||
Определено в GHC.Internal.TypeLits | |||||
| Lift Char Источник | |||||
| Generic1 (URec Char :: k -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Eq1 (UChar :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
||||
| Ord1 (UChar :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Show1 (UChar :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
||||
| Foldable (UChar :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UChar m -> m Источник foldMap :: Monoid m => (a -> m) -> UChar a -> m Источник foldMap' :: Monoid m => (a -> m) -> UChar a -> m Источник foldr :: (a -> b -> b) -> b -> UChar a -> b Источник foldr' :: (a -> b -> b) -> b -> UChar a -> b Источник foldl :: (b -> a -> b) -> b -> UChar a -> b Источник foldl' :: (b -> a -> b) -> b -> UChar a -> b Источник foldr1 :: (a -> a -> a) -> UChar a -> a Источник foldl1 :: (a -> a -> a) -> UChar a -> a Источник toList :: UChar a -> [a] Источник null :: UChar a -> Bool Источник length :: UChar a -> Int Источник elem :: Eq a => a -> UChar a -> Bool Источник maximum :: Ord a => UChar a -> a Источник minimum :: Ord a => UChar a -> a Источник | |||||
| Traversable (UChar :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Traversable | |||||
| Functor (URec Char :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
||||
| Eq (URec Char p) Источник | Начиная с: base-4.9.0.0 |
||||
| Ord (URec Char p) Источник | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыcompare :: URec Char p -> URec Char p -> Ordering Источник (<) :: URec Char p -> URec Char p -> Bool Источник (<=) :: URec Char p -> URec Char p -> Bool Источник (>) :: URec Char p -> URec Char p -> Bool Источник (>=) :: URec Char p -> URec Char p -> Bool Источник | |||||
| Generic (URec Char p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Show (URec Char p) Исходный код | Since: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| data URec Char (p :: k) Исходный код |
Используется для обозначения вхождений Since: base-4.9.0.0 |
||||
| type Compare (a :: Char) (b :: Char) Исходный код | |||||
Определено в GHC.Internal.Data.Type.Ord | |||||
| type Rep1 (URec Char :: k -> Type) Исходный код | Since: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| type Rep (URec Char p) Исходный код | Since: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
class a ~R# b => Coercible (a :: k) (b :: k) Исходный код
Coercible — это класс с двумя параметрами, экземпляры которого существуют для типов a и b, если компилятор может вывести, что они имеют одинаковое представление. У этого класса нет обычных экземпляров; вместо этого они создаются на лету при проверке типов. Попытка объявить экземпляр Coercible вручную приводит к ошибке.
Тем не менее можно считать, что существуют экземпляры следующих трёх видов. Первый — тривиальный базовый случай:
instance Coercible a a
Кроме того, для каждого конструктора типов существует экземпляр, позволяющий выполнять приведение под этим конструктором типов. Например, пусть D — типичный конструктор типов (data или newtype) с тремя аргументами типов, роли которых — nominal, representational и phantom соответственно. Тогда существует экземпляр следующего вида:
instance Coercible b b' => Coercible (D a b c) (D a b' c')
Обратите внимание: аргументы типов nominal должны быть равны, аргументы типов representational могут различаться, но для них должен существовать собственный экземпляр Coercible, а аргументы типов phantom можно изменять произвольным образом.
Третий вид экземпляра существует для каждого newtype NT = MkNT T и имеет два варианта:
instance Coercible a T => Coercible a NT
instance Coercible T b => Coercible NT b
Этот экземпляр можно использовать, только если конструктор MkNT находится в области видимости.
Если вы как автор библиотеки создали конструктор типов, например Set a, и хотите запретить пользователям своего модуля писать coerce :: Set T -> Set NT, необходимо назначить параметру типа Set роль nominal, написав:
type role Set nominal
Подробнее об этой возможности см. в статье Безопасные приведения авторства Йоахима Брайтнера, Ричарда А. Эйзенберга, Саймона Пейтона Джонса и Стефани Вайрих.
Since: ghc-internal-0.4.0
type Constraint = CONSTRAINT LiftedRep Исходный код
Вид поднятых ограничений
data DictBox a Исходный код
Тип данных Dict предоставляет простой способ обернуть (поднятое) ограничение в тип
Конструкторы
| a => MkDictBox |
data Double Исходный код
Числа с плавающей точкой двойной точности. Желательно, чтобы диапазон и точность этого типа были не меньше, чем у типа IEEE с двойной точностью.
Экземпляры
| PrintfArg Double Исходный код | Начиная с: base-2.1 |
Определён в Text.Printf Методы | |
| Eq Double Исходный код |
Обратите внимание, что из-за наличия >>> 0/0 == (0/0 :: Double) False Также обратите внимание, что экземпляр >>> 0 == (-0 :: Double) True >>> recip 0 == recip (-0 :: Double) False |
Определён в GHC.Internal.Classes | |
| Ord Double Исходный код |
Тип повышенной точности IEEE 754 Раздел 5.11 стандарта IEEE 754-2008 требует, чтобы, если хотя бы один из аргументов Раздел 5.10 стандарта IEEE 754-2008 определяет предикат Поэтому при использовании Кроме того, поведение Реализации |
Определён в GHC.Internal.Classes Методыcompare :: Double -> Double -> Ordering Исходный код (<) :: Double -> Double -> Bool Исходный код (<=) :: Double -> Double -> Bool Исходный код (>) :: Double -> Double -> Bool Исходный код (>=) :: Double -> Double -> Bool Исходный код max :: Double -> Double -> Double Исходный код min :: Double -> Double -> Double Исходный код | |
| Data Double Исходный код | Начиная с: base-4.0.0.0 |
Определён в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Double -> c Double Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Double Исходный код toConstr :: Double -> Constr Исходный код dataTypeOf :: Double -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Double) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Double) Исходный код gmapT :: (forall b. Data b => b -> b) -> Double -> Double Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Double -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Double -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Double -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Double -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Double -> m Double Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Double -> m Double Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Double -> m Double Исходный код | |
| Enum Double Исходный код |
Генераторы списков ведут себя крайне необычно в соответствии с требованиями Отчёта Haskell 2010: >>> [0..1.5] [0.0,1.0,2.0] Начиная с: base-2.1 |
Определён в GHC.Internal.Float Методыsucc :: Double -> Double Исходный код pred :: Double -> Double Исходный код toEnum :: Int -> Double Исходный код fromEnum :: Double -> Int Исходный код enumFrom :: Double -> [Double] Исходный код enumFromThen :: Double -> Double -> [Double] Исходный код enumFromTo :: Double -> Double -> [Double] Исходный код enumFromThenTo :: Double -> Double -> Double -> [Double] Исходный код | |
| Floating Double Исходный код | Начиная с: base-2.1 |
Определён в GHC.Internal.Float Методыpi :: Double Исходный код exp :: Double -> Double Исходный код log :: Double -> Double Исходный код sqrt :: Double -> Double Исходный код (**) :: Double -> Double -> Double Исходный код logBase :: Double -> Double -> Double Исходный код sin :: Double -> Double Исходный код cos :: Double -> Double Исходный код tan :: Double -> Double Исходный код asin :: Double -> Double Исходный код acos :: Double -> Double Исходный код atan :: Double -> Double Исходный код sinh :: Double -> Double Исходный код cosh :: Double -> Double Исходный код tanh :: Double -> Double Исходный код asinh :: Double -> Double Исходный код acosh :: Double -> Double Исходный код atanh :: Double -> Double Исходный код log1p :: Double -> Double Исходный код expm1 :: Double -> Double Исходный код log1pexp :: Double -> Double Исходный код log1mexp :: Double -> Double Исходный код | |
| RealFloat Double Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Float МетодыfloatRadix :: Double -> Integer Исходный код floatDigits :: Double -> Int Исходный код floatRange :: Double -> (Int, Int) Исходный код decodeFloat :: Double -> (Integer, Int) Исходный код encodeFloat :: Integer -> Int -> Double Исходный код exponent :: Double -> Int Исходный код significand :: Double -> Double Исходный код scaleFloat :: Int -> Double -> Double Исходный код isNaN :: Double -> Bool Исходный код isInfinite :: Double -> Bool Исходный код isDenormalized :: Double -> Bool Исходный код isNegativeZero :: Double -> Bool Исходный код isIEEE :: Double -> Bool Исходный код atan2 :: Double -> Double -> Double Исходный код | |||||
| Storable Double Исходный код | Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Double -> Int Исходный код alignment :: Double -> Int Исходный код peekElemOff :: Ptr Double -> Int -> IO Double Исходный код pokeElemOff :: Ptr Double -> Int -> Double -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Double Исходный код pokeByteOff :: Ptr b -> Int -> Double -> IO () Исходный код | |||||
| Num Double Исходный код |
Этот экземпляр реализует стандарт IEEE 754 со всеми обычными особенностями, связанными с NaN, бесконечностями и отрицательным нулём. Ни сложение, ни умножение не являются ассоциативными или дистрибутивными: >>> (0.1 + 0.1) + 0.4 == 0.1 + (0.1 + 0.4) False >>> (0.1 + 0.2) * 0.3 == 0.1 * 0.3 + 0.2 * 0.3 False >>> (0.1 * 0.1) * 0.3 == 0.1 * (0.1 * 0.3) False Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Float Методы(+) :: Double -> Double -> Double Исходный код (-) :: Double -> Double -> Double Исходный код (*) :: Double -> Double -> Double Исходный код negate :: Double -> Double Исходный код abs :: Double -> Double Исходный код signum :: Double -> Double Исходный код fromInteger :: Integer -> Double Исходный код | |||||
| Read Double Исходный код | Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Read МетодыreadsPrec :: Int -> ReadS Double Исходный код readList :: ReadS [Double] Исходный код | |||||
| Fractional Double Исходный код |
Этот экземпляр реализует стандарт IEEE 754 со всеми обычными особенностями, связанными с NaN, бесконечностями и отрицательным нулём. >>> 0 == (-0 :: Double) True >>> recip 0 == recip (-0 :: Double) False >>> map (/ 0) [-1, 0, 1] [-Infinity,NaN,Infinity] >>> map (* 0) $ map (/ 0) [-1, 0, 1] [NaN,NaN,NaN] Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Float | |||||
| Real Double Исходный код |
Обратите внимание, что >>> toRational (1/0) 179769313 (and 300 more digits...) % 1 >>> toRational (0/0) 269653970 (and 300 more digits...) % 1 Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Float МетодыtoRational :: Double -> Rational Исходный код | |||||
| RealFrac Double Исходный код |
Обратите внимание, что результаты для нечисловых аргументов бессмысленны: >>> [ f x | f <- [round, floor, ceiling], x <- [-1/0, 0/0, 1/0] ] :: [Int] [0,0,0,0,0,0,0,0,0] >>> map properFraction [-1/0, 0/0, 1/0] :: [(Int, Double)] [(0,0.0),(0,0.0),(0,0.0)] и становятся ещё более бессмысленными, если запросить Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Float МетодыproperFraction :: Integral b => Double -> (b, Double) Исходный код truncate :: Integral b => Double -> b Исходный код round :: Integral b => Double -> b Исходный код ceiling :: Integral b => Double -> b Исходный код floor :: Integral b => Double -> b Исходный код | |||||
| Show Double Исходный код | Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Float МетодыshowsPrec :: Int -> Double -> ShowS Исходный код show :: Double -> String Исходный код showList :: [Double] -> ShowS Исходный код | |||||
| Lift Double Исходный код | |||||
Определено в GHC.Internal.TH.Lift | |||||
| Generic1 (URec Double :: k -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Eq1 (UDouble :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Ord1 (UDouble :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> UDouble a -> UDouble b -> Ordering Исходный код | |||||
| Show1 (UDouble :: Type -> Type) Источник | С версии: base-4.21.0.0 |
||||
| Foldable (UDouble :: Type -> Type) Источник | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UDouble m -> m Источник foldMap :: Monoid m => (a -> m) -> UDouble a -> m Источник foldMap' :: Monoid m => (a -> m) -> UDouble a -> m Источник foldr :: (a -> b -> b) -> b -> UDouble a -> b Источник foldr' :: (a -> b -> b) -> b -> UDouble a -> b Источник foldl :: (b -> a -> b) -> b -> UDouble a -> b Источник foldl' :: (b -> a -> b) -> b -> UDouble a -> b Источник foldr1 :: (a -> a -> a) -> UDouble a -> a Источник foldl1 :: (a -> a -> a) -> UDouble a -> a Источник toList :: UDouble a -> [a] Источник null :: UDouble a -> Bool Источник length :: UDouble a -> Int Источник elem :: Eq a => a -> UDouble a -> Bool Источник maximum :: Ord a => UDouble a -> a Источник minimum :: Ord a => UDouble a -> a Источник | |||||
| Traversable (UDouble :: Type -> Type) Источник | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Traversable | |||||
| Functor (URec Double :: Type -> Type) Источник | С версии: base-4.9.0.0 |
||||
| Eq (URec Double p) Источник | С версии: base-4.9.0.0 |
||||
| Ord (URec Double p) Источник | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыcompare :: URec Double p -> URec Double p -> Ordering Источник (<) :: URec Double p -> URec Double p -> Bool Источник (<=) :: URec Double p -> URec Double p -> Bool Источник (>) :: URec Double p -> URec Double p -> Bool Источник (>=) :: URec Double p -> URec Double p -> Bool Источник max :: URec Double p -> URec Double p -> URec Double p Источник min :: URec Double p -> URec Double p -> URec Double p Источник | |||||
| Generic (URec Double p) Источник | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
| |||||
| Show (URec Double p) Источник | С версии: base-4.9.0.0 |
||||
| data URec Double (p :: k) Источник |
Используется для обозначения вхождений С версии: base-4.9.0.0 |
||||
| type Rep1 (URec Double :: k -> Type) Источник | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| type Rep (URec Double p) Источник | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
data DoubleBox (a :: TYPE 'DoubleRep) Источник
Конструкторы
| MkDoubleBox a |
Числа с плавающей точкой одинарной точности. Желательно, чтобы диапазон и точность этого типа были как минимум такими же, как у типа IEEE одинарной точности.
Экземпляры
| PrintfArg Float Источник | Начиная с: base-2.1 |
Определён в Text.Printf МетодыformatArg :: Float -> FieldFormatter Источник | |
| Eq Float Источник |
Обратите внимание, что из-за наличия >>> 0/0 == (0/0 :: Float) False Также обратите внимание, что экземпляр >>> 0 == (-0 :: Float) True >>> recip 0 == recip (-0 :: Float) False |
| Ord Float Источник | Обсуждение отклонений от стандарта IEEE 754 см. в |
Определён в GHC.Internal.Classes | |
| Data Float Источник | Начиная с: base-4.0.0.0 |
Определён в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Float -> c Float Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Float Источник toConstr :: Float -> Constr Источник dataTypeOf :: Float -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Float) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Float) Источник gmapT :: (forall b. Data b => b -> b) -> Float -> Float Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Float -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Float -> r Источник gmapQ :: (forall d. Data d => d -> u) -> Float -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> Float -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> Float -> m Float Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Float -> m Float Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Float -> m Float Источник | |
| Enum Float Источник |
Генераторы списков ведут себя крайне необычно в соответствии с требованиями Отчёта Haskell 2010: >>> [0..1.5 :: Float] [0.0,1.0,2.0] Начиная с: base-2.1 |
Определён в GHC.Internal.Float Методыsucc :: Float -> Float Источник pred :: Float -> Float Источник toEnum :: Int -> Float Источник fromEnum :: Float -> Int Источник enumFrom :: Float -> [Float] Источник enumFromThen :: Float -> Float -> [Float] Источник enumFromTo :: Float -> Float -> [Float] Источник enumFromThenTo :: Float -> Float -> Float -> [Float] Источник | |
| Floating Float Источник | Начиная с: base-2.1 |
Определён в GHC.Internal.Float Методыexp :: Float -> Float Источник log :: Float -> Float Источник sqrt :: Float -> Float Источник (**) :: Float -> Float -> Float Источник logBase :: Float -> Float -> Float Источник sin :: Float -> Float Источник cos :: Float -> Float Источник tan :: Float -> Float Источник asin :: Float -> Float Источник acos :: Float -> Float Источник atan :: Float -> Float Источник sinh :: Float -> Float Источник cosh :: Float -> Float Источник tanh :: Float -> Float Источник asinh :: Float -> Float Источник acosh :: Float -> Float Источник atanh :: Float -> Float Источник log1p :: Float -> Float Источник expm1 :: Float -> Float Источник | |
| RealFloat Float Источник | Начиная с: base-2.1 |
Определён в GHC.Internal.Float МетодыfloatRadix :: Float -> Integer Источник floatDigits :: Float -> Int Источник floatRange :: Float -> (Int, Int) Источник decodeFloat :: Float -> (Integer, Int) Источник encodeFloat :: Integer -> Int -> Float Источник exponent :: Float -> Int Источник significand :: Float -> Float Источник scaleFloat :: Int -> Float -> Float Источник isNaN :: Float -> Bool Источник isInfinite :: Float -> Bool Источник isDenormalized :: Float -> Bool Источник isNegativeZero :: Float -> Bool Источник | |
| Storable Float Источник | Начиная с: base-2.1 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Float -> Int Источник alignment :: Float -> Int Источник peekElemOff :: Ptr Float -> Int -> IO Float Источник pokeElemOff :: Ptr Float -> Int -> Float -> IO () Источник peekByteOff :: Ptr b -> Int -> IO Float Источник pokeByteOff :: Ptr b -> Int -> Float -> IO () Источник | |||||
| Num Float Источник |
Этот экземпляр реализует стандарт IEEE 754 со всеми обычными подводными камнями, связанными с NaN, бесконечностями и отрицательным нулём. Ни сложение, ни умножение не являются ассоциативными или дистрибутивными: >>> (0.1 + 0.1 :: Float) + 0.5 == 0.1 + (0.1 + 0.5) False >>> (0.1 + 0.2 :: Float) * 0.9 == 0.1 * 0.9 + 0.2 * 0.9 False >>> (0.1 * 0.1 :: Float) * 0.9 == 0.1 * (0.1 * 0.9) False Начиная с: base-2.1 |
||||
| Read Float Источник | Начиная с: base-2.1 |
||||
| Fractional Float Источник |
Этот экземпляр реализует стандарт IEEE 754 со всеми обычными подводными камнями, связанными с NaN, бесконечностями и отрицательным нулём. >>> 0 == (-0 :: Float) True >>> recip 0 == recip (-0 :: Float) False >>> map (/ 0) [-1, 0, 1 :: Float] [-Infinity,NaN,Infinity] >>> map (* 0) $ map (/ 0) [-1, 0, 1 :: Float] [NaN,NaN,NaN] Начиная с: base-2.1 |
||||
| Real Float Источник |
Имейте в виду, что >>> toRational (1/0 :: Float) 340282366920938463463374607431768211456 % 1 >>> toRational (0/0 :: Float) 510423550381407695195061911147652317184 % 1 Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Float МетодыtoRational :: Float -> Rational Источник | |||||
| RealFrac Float Источник |
Имейте в виду, что результаты для аргументов с нефинитными значениями — мусор: >>> [ f x | f <- [round, floor, ceiling], x <- [-1/0, 0/0, 1/0 :: Float] ] :: [Int] [0,0,0,0,0,0,0,0,0] >>> map properFraction [-1/0, 0/0, 1/0] :: [(Int, Float)] [(0,0.0),(0,0.0),(0,0.0)] а если вместо Начиная с: base-2.1 |
||||
| Show Float Источник | Начиная с: base-2.1 |
||||
| Lift Float Источник | |||||
| Generic1 (URec Float :: k -> Type) Источник | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
| |||||
| Eq1 (UFloat :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
||||
| Ord1 (UFloat :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Show1 (UFloat :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
||||
| Foldable (UFloat :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UFloat m -> m Источник foldMap :: Monoid m => (a -> m) -> UFloat a -> m Источник foldMap' :: Monoid m => (a -> m) -> UFloat a -> m Источник foldr :: (a -> b -> b) -> b -> UFloat a -> b Источник foldr' :: (a -> b -> b) -> b -> UFloat a -> b Источник foldl :: (b -> a -> b) -> b -> UFloat a -> b Источник foldl' :: (b -> a -> b) -> b -> UFloat a -> b Источник foldr1 :: (a -> a -> a) -> UFloat a -> a Источник foldl1 :: (a -> a -> a) -> UFloat a -> a Источник toList :: UFloat a -> [a] Источник null :: UFloat a -> Bool Источник length :: UFloat a -> Int Источник elem :: Eq a => a -> UFloat a -> Bool Источник maximum :: Ord a => UFloat a -> a Источник minimum :: Ord a => UFloat a -> a Источник | |||||
| Traversable (UFloat :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Traversable | |||||
| Functor (URec Float :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
||||
| Eq (URec Float p) Источник | |||||
| Ord (URec Float p) Источник | |||||
Определено в GHC.Internal.Generics Методыcompare :: URec Float p -> URec Float p -> Ordering Источник (<) :: URec Float p -> URec Float p -> Bool Источник (<=) :: URec Float p -> URec Float p -> Bool Источник (>) :: URec Float p -> URec Float p -> Bool Источник (>=) :: URec Float p -> URec Float p -> Bool Источник max :: URec Float p -> URec Float p -> URec Float p Источник min :: URec Float p -> URec Float p -> URec Float p Источник | |||||
| Generic (URec Float p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Show (URec Float p) Источник | |||||
| data URec Float (p :: k) Источник |
Используется для обозначения вхождений Начиная с: base-4.9.0.0 |
||||
| type Rep1 (URec Float :: k -> Type) Источник | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| type Rep (URec Float p) Источник | |||||
Определено в GHC.Internal.Generics | |||||
data FloatBox (a :: TYPE 'FloatRep) Источник
Конструкторы
| MkFloatBox a |
Целочисленный тип с фиксированной точностью и диапазоном не менее [-2^29 .. 2^29-1]. Точный диапазон для конкретной реализации можно определить с помощью minBound и maxBound из класса Bounded.
Экземпляры
| PrintfArg Int Источник | Начиная с: base-2.1 |
Определён в Text.Printf | |
| Bits Int Источник | Начиная с: base-2.1 |
Определён в GHC.Internal.Bits Методы(.&.) :: Int -> Int -> Int Источник (.|.) :: Int -> Int -> Int Источник xor :: Int -> Int -> Int Источник complement :: Int -> Int Источник shift :: Int -> Int -> Int Источник rotate :: Int -> Int -> Int Источник setBit :: Int -> Int -> Int Источник clearBit :: Int -> Int -> Int Источник complementBit :: Int -> Int -> Int Источник testBit :: Int -> Int -> Bool Источник bitSizeMaybe :: Int -> Maybe Int Источник bitSize :: Int -> Int Источник isSigned :: Int -> Bool Источник shiftL :: Int -> Int -> Int Источник unsafeShiftL :: Int -> Int -> Int Источник shiftR :: Int -> Int -> Int Источник unsafeShiftR :: Int -> Int -> Int Источник rotateL :: Int -> Int -> Int Источник | |
| FiniteBits Int Источник | Начиная с: base-4.6.0.0 |
Определён в GHC.Internal.Bits МетодыfiniteBitSize :: Int -> Int Источник countLeadingZeros :: Int -> Int Источник countTrailingZeros :: Int -> Int Источник | |
| Eq Int Источник | |
| Ord Int Источник | |
| Data Int Источник | Начиная с: base-4.0.0.0 |
Определён в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Int -> c Int Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int Источник toConstr :: Int -> Constr Источник dataTypeOf :: Int -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int) Источник gmapT :: (forall b. Data b => b -> b) -> Int -> Int Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int -> r Источник gmapQ :: (forall d. Data d => d -> u) -> Int -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> Int -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int -> m Int Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int -> m Int Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int -> m Int Источник | |
| Bounded Int Источник | Начиная с: base-2.1 |
| Enum Int Источник | Начиная с: base-2.1 |
| Storable Int Источник | Начиная с: base-2.1 |
Определён в GHC.Internal.Foreign.Storable МетодыsizeOf :: Int -> Int Исходный код alignment :: Int -> Int Исходный код peekElemOff :: Ptr Int -> Int -> IO Int Исходный код pokeElemOff :: Ptr Int -> Int -> Int -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Int Исходный код pokeByteOff :: Ptr b -> Int -> Int -> IO () Исходный код | |||||
| Ix Int Исходный код | Начиная с: base-2.1 |
||||
Определён в GHC.Internal.Ix Методыrange :: (Int, Int) -> [Int] Исходный код index :: (Int, Int) -> Int -> Int Исходный код unsafeIndex :: (Int, Int) -> Int -> Int Исходный код inRange :: (Int, Int) -> Int -> Bool Исходный код rangeSize :: (Int, Int) -> Int Исходный код unsafeRangeSize :: (Int, Int) -> Int Исходный код | |||||
| Num Int Исходный код | Начиная с: base-2.1 |
||||
Определён в GHC.Internal.Num Методы(+) :: Int -> Int -> Int Исходный код (-) :: Int -> Int -> Int Исходный код (*) :: Int -> Int -> Int Исходный код negate :: Int -> Int Исходный код abs :: Int -> Int Исходный код signum :: Int -> Int Исходный код fromInteger :: Integer -> Int Исходный код | |||||
| Read Int Исходный код | Начиная с: base-2.1 |
||||
Определён в GHC.Internal.Read МетодыreadsPrec :: Int -> ReadS Int Исходный код readList :: ReadS [Int] Исходный код | |||||
| Integral Int Исходный код | Начиная с: base-2.0.1 |
||||
Определён в GHC.Internal.Real | |||||
| Real Int Исходный код | Начиная с: base-2.0.1 |
||||
Определён в GHC.Internal.Real МетодыtoRational :: Int -> Rational Исходный код | |||||
| Show Int Исходный код | Начиная с: base-2.1 |
||||
Определён в GHC.Internal.Show МетодыshowsPrec :: Int -> Int -> ShowS Исходный код show :: Int -> String Исходный код showList :: [Int] -> ShowS Исходный код | |||||
| Lift Int Исходный код | |||||
Определён в GHC.Internal.TH.Lift | |||||
| Generic1 (URec Int :: k -> Type) Исходный код | |||||
Определён в GHC.Internal.Generics Ассоциированные типы
| |||||
| Eq1 (UInt :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определён в Data.Functor.Classes | |||||
| Ord1 (UInt :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определён в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> UInt a -> UInt b -> Ordering Исходный код | |||||
| Show1 (UInt :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определён в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UInt a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UInt a] -> ShowS Исходный код | |||||
| Foldable (UInt :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UInt m -> m Исходный код foldMap :: Monoid m => (a -> m) -> UInt a -> m Исходный код foldMap' :: Monoid m => (a -> m) -> UInt a -> m Исходный код foldr :: (a -> b -> b) -> b -> UInt a -> b Исходный код foldr' :: (a -> b -> b) -> b -> UInt a -> b Исходный код foldl :: (b -> a -> b) -> b -> UInt a -> b Исходный код foldl' :: (b -> a -> b) -> b -> UInt a -> b Исходный код foldr1 :: (a -> a -> a) -> UInt a -> a Исходный код foldl1 :: (a -> a -> a) -> UInt a -> a Исходный код toList :: UInt a -> [a] Исходный код null :: UInt a -> Bool Исходный код length :: UInt a -> Int Исходный код elem :: Eq a => a -> UInt a -> Bool Исходный код maximum :: Ord a => UInt a -> a Исходный код minimum :: Ord a => UInt a -> a Исходный код sum :: Num a => UInt a -> a Исходный код product :: Num a => UInt a -> a Исходный код | |||||
| Traversable (UInt :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> UInt a -> f (UInt b) Исходный код sequenceA :: Applicative f => UInt (f a) -> f (UInt a) Исходный код mapM :: Monad m => (a -> m b) -> UInt a -> m (UInt b) Исходный код sequence :: Monad m => UInt (m a) -> m (UInt a) Исходный код | |||||
| Functor (URec Int :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| Eq (URec Int p) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| Ord (URec Int p) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыcompare :: URec Int p -> URec Int p -> Ordering Исходный код (<) :: URec Int p -> URec Int p -> Bool Исходный код (<=) :: URec Int p -> URec Int p -> Bool Исходный код (>) :: URec Int p -> URec Int p -> Bool Исходный код (>=) :: URec Int p -> URec Int p -> Bool Исходный код | |||||
| Generic (URec Int p) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Show (URec Int p) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| data URec Int (p :: k) Исходный код |
Используется для обозначения вхождений Начиная с: base-4.9.0.0 |
||||
| type Rep1 (URec Int :: k -> Type) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
| type Rep (URec Int p) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics | |||||
data IntBox (a :: TYPE 'IntRep) Исходный код
Конструкторы
| MkIntBox a |
data Levity Исходный код
Указывает, является ли упакованный тип поднятым или неподнятым.
Экземпляры
| Bounded Levity Источник | Начиная с: base-4.16.0.0 |
| Enum Levity Источник | Начиная с: base-4.16.0.0 |
Определено в GHC.Internal.Enum Методыsucc :: Levity -> Levity Источник pred :: Levity -> Levity Источник toEnum :: Int -> Levity Источник fromEnum :: Levity -> Int Источник enumFrom :: Levity -> [Levity] Источник enumFromThen :: Levity -> Levity -> [Levity] Источник enumFromTo :: Levity -> Levity -> [Levity] Источник enumFromThenTo :: Levity -> Levity -> Levity -> [Levity] Источник | |
| Show Levity Источник | Начиная с: base-4.15.0.0 |
type LiftedRep = 'BoxedRep 'Lifted Источник
Представление типов с подъёмом во время выполнения.
Встроенный тип связанного списка.
В Haskell списки являются одним из важнейших типов данных, поскольку часто используются подобно циклам в императивных языках программирования. Эти списки являются односвязными, поэтому они не подходят для операций, требующих доступа за \(\mathcal{O}(1)\). Вместо этого они предназначены для обхода.
В сигнатурах типов можно использовать List a или [a]:
length :: [a] -> Int
или
length :: List a -> Int
Они полностью эквивалентны, и List a будет нормализовано до [a].
Использование
Списки создаются рекурсивно с помощью правоассоциативного оператора-конструктора (или cons) (:) :: a -> [a] -> [a], который добавляет элемент в начало списка, и пустого списка [].
(1 : 2 : 3 : []) == (1 : (2 : (3 : []))) == [1, 2, 3]
Списки также можно создавать с помощью списковых литералов вида [x_1, x_2, ..., x_n]. Они являются синтаксическим сахаром и, если не включён -XOverloadedLists, преобразуются в вызовы (:) и []
Литералы String, например "I 💜 hs", преобразуются в списки символов, ['I', ' ', '💜', ' ', 'h', 's'].
Реализация
Внутри программы и в памяти всё перечисленное выше представлено следующим образом; стрелки обозначают указатели на адреса в памяти.
╭───┬───┬──╮ ╭───┬───┬──╮ ╭───┬───┬──╮ ╭────╮
│(:)│ │ ─┼──>│(:)│ │ ─┼──>│(:)│ │ ─┼──>│ [] │
╰───┴─┼─┴──╯ ╰───┴─┼─┴──╯ ╰───┴─┼─┴──╯ ╰────╯
v v v
1 2 3Примеры
>>> ['H', 'a', 's', 'k', 'e', 'l', 'l'] "Haskell"
>>> 1 : [4, 1, 5, 9] [1,4,1,5,9]
>>> [] : [] : [] [[],[]]
Начиная с: ghc-internal-0.10.0
Экземпляры
| Eq1 [] Исходный код | С версии: base-4.9.0.0 |
||||
Определено в Data.Functor.Classes МетодыliftEq :: (a -> b -> Bool) -> [a] -> [b] -> Bool Исходный код | |||||
| Ord1 [] Исходный код | С версии: base-4.9.0.0 |
||||
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> [a] -> [b] -> Ordering Исходный код | |||||
| Read1 [] Исходный код | С версии: base-4.9.0.0 |
||||
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS [a] Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [[a]] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [a] Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [[a]] Исходный код | |||||
| Show1 [] Исходный код | С версии: base-4.9.0.0 |
||||
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> [a] -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [[a]] -> ShowS Исходный код | |||||
| Alternative [] Исходный код |
Объединяет списки конкатенацией, начиная с пустого списка. С версии: base-2.1 |
||||
Определено в GHC.Internal.Base Методыempty :: [a] Исходный код (<|>) :: [a] -> [a] -> [a] Исходный код some :: [a] -> [[a]] Исходный код many :: [a] -> [[a]] Исходный код | |||||
| Applicative [] Исходный код | С версии: base-2.1 |
||||
Определено в GHC.Internal.Base Методыpure :: a -> [a] Исходный код (<*>) :: [a -> b] -> [a] -> [b] Исходный код liftA2 :: (a -> b -> c) -> [a] -> [b] -> [c] Исходный код (*>) :: [a] -> [b] -> [b] Исходный код (<*) :: [a] -> [b] -> [a] Исходный код | |||||
| Functor [] Исходный код | С версии: base-2.1 |
||||
Определено в GHC.Internal.Base | |||||
| Monad [] Исходный код | С версии: base-2.1 |
||||
Определено в GHC.Internal.Base Методы(>>=) :: [a] -> (a -> [b]) -> [b] Исходный код (>>) :: [a] -> [b] -> [b] Исходный код return :: a -> [a] Исходный код | |||||
| MonadPlus [] Исходный код |
Объединяет списки конкатенацией, начиная с пустого списка. С версии: base-2.1 |
||||
Определено в GHC.Internal.Base | |||||
| MonadFail [] Исходный код | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Control.Monad.Fail Методыfail :: HasCallStack => String -> [a] Исходный код | |||||
| MonadFix [] Исходный код | С версии: base-2.1 |
||||
Определено в GHC.Internal.Control.Monad.Fix Методыmfix :: (a -> [a]) -> [a] Исходный код | |||||
| MonadZip [] Исходный код | С версии: ghc-internal-4.3.1.0 |
||||
Определено в GHC.Internal.Control.Monad.Zip Методыmzip :: [a] -> [b] -> [(a, b)] Исходный код mzipWith :: (a -> b -> c) -> [a] -> [b] -> [c] Исходный код munzip :: [(a, b)] -> ([a], [b]) Исходный код | |||||
| Foldable [] Исходный код | С версии: base-2.1 |
||||
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => [m] -> m Исходный код foldMap :: Monoid m => (a -> m) -> [a] -> m Исходный код foldMap' :: Monoid m => (a -> m) -> [a] -> m Исходный код foldr :: (a -> b -> b) -> b -> [a] -> b Исходный код foldr' :: (a -> b -> b) -> b -> [a] -> b Исходный код foldl :: (b -> a -> b) -> b -> [a] -> b Исходный код foldl' :: (b -> a -> b) -> b -> [a] -> b Исходный код foldr1 :: (a -> a -> a) -> [a] -> a Исходный код foldl1 :: (a -> a -> a) -> [a] -> a Исходный код toList :: [a] -> [a] Исходный код null :: [a] -> Bool Исходный код length :: [a] -> Int Исходный код elem :: Eq a => a -> [a] -> Bool Исходный код maximum :: Ord a => [a] -> a Исходный код minimum :: Ord a => [a] -> a Исходный код sum :: Num a => [a] -> a Исходный код product :: Num a => [a] -> a Исходный код | |||||
| Traversable [] Исходный код | С версии: base-2.1 |
||||
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> [a] -> f [b] Исходный код sequenceA :: Applicative f => [f a] -> f [a] Исходный код mapM :: Monad m => (a -> m b) -> [a] -> m [b] Исходный код sequence :: Monad m => [m a] -> m [a] Исходный код | |||||
| Generic1 [] Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
| |||||
| Lift a => Lift ([a] :: Type) Исходный код | |||||
Определено в GHC.Internal.TH.Lift Методыlift :: Quote m => [a] -> m Exp Исходный код liftTyped :: forall (m :: Type -> Type). Quote m => [a] -> Code m [a] Исходный код | |||||
| IsChar c => PrintfArg [c] Исходный код | Начиная с: base-2.1 |
||||
Определено в Text.Printf МетодыformatArg :: [c] -> FieldFormatter Исходный код parseFormat :: [c] -> ModifierParser Исходный код | |||||
| IsChar c => PrintfType [c] Исходный код | Начиная с: base-2.1 |
||||
Определено в Text.Printf | |||||
| Monoid [a] Исходный код | Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Base Методыmempty :: [a] Исходный код mappend :: [a] -> [a] -> [a] Исходный код mconcat :: [[a]] -> [a] Исходный код | |||||
| Semigroup [a] Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Base Методы(<>) :: [a] -> [a] -> [a] Исходный код sconcat :: NonEmpty [a] -> [a] Исходный код stimes :: Integral b => b -> [a] -> [a] Исходный код | |||||
| Eq a => Eq [a] Исходный код | |||||
Определено в GHC.Internal.Classes | |||||
| Ord a => Ord [a] Исходный код | |||||
Определено в GHC.Internal.Classes Методыcompare :: [a] -> [a] -> Ordering Исходный код (<) :: [a] -> [a] -> Bool Исходный код (<=) :: [a] -> [a] -> Bool Исходный код (>) :: [a] -> [a] -> Bool Исходный код (>=) :: [a] -> [a] -> Bool Исходный код max :: [a] -> [a] -> [a] Исходный код min :: [a] -> [a] -> [a] Исходный код | |||||
| Data a => Data [a] Исходный код |
По историческим причинам имя конструктора, используемое для Начиная с: base-4.0.0.0 |
||||
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> [a] -> c [a] Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c [a] Исходный код toConstr :: [a] -> Constr Исходный код dataTypeOf :: [a] -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c [a]) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c [a]) Исходный код gmapT :: (forall b. Data b => b -> b) -> [a] -> [a] Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> [a] -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> [a] -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> [a] -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> [a] -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> [a] -> m [a] Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> [a] -> m [a] Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> [a] -> m [a] Исходный код | |||||
| a ~ Char => IsString [a] Исходный код |
Контекст Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Data.String МетодыfromString :: String -> [a] Исходный код | |||||
| Generic [a] Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| IsList [a] Исходный код | Начиная с: base-4.7.0.0 |
||||
Определено в GHC.Internal.IsList Связанные типы
МетодыfromList :: [Item [a]] -> [a] Исходный код fromListN :: Int -> [Item [a]] -> [a] Исходный код toList :: [a] -> [Item [a]] Исходный код | |||||
| Read a => Read [a] Исходный код | Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Read МетодыreadsPrec :: Int -> ReadS [a] Исходный код readList :: ReadS [[a]] Исходный код readPrec :: ReadPrec [a] Исходный код readListPrec :: ReadPrec [[a]] Исходный код | |||||
| Show a => Show [a] Исходный код | Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Show МетодыshowsPrec :: Int -> [a] -> ShowS Исходный код show :: [a] -> String Исходный код showList :: [[a]] -> ShowS Исходный код | |||||
| type Rep1 [] Исходный код | Начиная с: base-4.6.0.0 |
||||
Определено в GHC.Internal.Generics type Rep1 [] = D1 ('MetaData "List" "GHC.Internal.Types" "ghc-internal" 'False) (C1 ('MetaCons "[]" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons ":" ('InfixI 'RightAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 []))) | |||||
| type Rep [a] Исходный код | Начиная с: base-4.6.0.0 |
||||
Определено в GHC.Internal.Generics type Rep [a] = D1 ('MetaData "List" "GHC.Internal.Types" "ghc-internal" 'False) (C1 ('MetaCons "[]" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons ":" ('InfixI 'RightAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [a]))) | |
| type Item [a] Источник | |
Определено в GHC.Internal.IsList type Item [a] = a | |
data Multiplicity Источник
data RuntimeRep Источник
GHC поддерживает свойство, согласно которому вид всех обитаемых типов (в отличие от конструкторов типов или данных на уровне типов) указывает нам на представление во время выполнения значений этого типа. Этот тип данных кодирует выбор представления значения во время выполнения. Обратите внимание, что TYPE параметризован типом RuntimeRep; именно это мы имеем в виду, говоря, что вид типа кодирует представление во время выполнения.
Для упакованных значений (то есть значений, представленных указателем) проводится дополнительное различие между подъёмными типами (которые содержат ⊥) и неподъёмными (которые его не содержат).
Конструкторы
| VecRep VecCount VecElem | тип SIMD-вектора |
| TupleRep [RuntimeRep] | неупакованный кортеж из представлений заданных типов |
| SumRep [RuntimeRep] | неупакованная сумма из представлений заданных типов |
| BoxedRep Levity | упакованное значение; представлено указателем |
| IntRep | знаковое значение размером в машинное слово |
| Int8Rep | знаковое 8-битное значение |
| Int16Rep | знаковое 16-битное значение |
| Int32Rep | знаковое 32-битное значение |
| Int64Rep | знаковое 64-битное значение |
| WordRep | беззнаковое значение размером в машинное слово |
| Word8Rep | беззнаковое 8-битное значение |
| Word16Rep | беззнаковое 16-битное значение |
| Word32Rep | беззнаковое 32-битное значение |
| Word64Rep | беззнаковое 64-битное значение |
| AddrRep | указатель, но не на значение Haskell |
| FloatRep | 32-битное число с плавающей точкой |
| DoubleRep | 64-битное число с плавающей точкой |
Экземпляры
| Show RuntimeRep Источник | Начиная с: base-4.11.0.0 |
Определено в GHC.Internal.Show МетодыshowsPrec :: Int -> RuntimeRep -> ShowS Источник show :: RuntimeRep -> String Источник showList :: [RuntimeRep] -> ShowS Источник | |
| Lift (# #) Источник | Начиная с: template-haskell-2.16.0.0 |
| Lift a => Lift ((# a #) :: TYPE ('TupleRep '[LiftedRep])) Источник | Начиная с: template-haskell-2.16.0.0 |
| (Lift a, Lift b) => Lift ((# a | b #) :: TYPE ('SumRep '[LiftedRep, LiftedRep])) Источник | Начиная с: template-haskell-2.16.0.0 |
| (Lift a, Lift b) => Lift ((# a, b #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep])) Источник | Начиная с: template-haskell-2.16.0.0 |
| (Lift a, Lift b, Lift c) => Lift ((# a | b | c #) :: TYPE ('SumRep '[LiftedRep, LiftedRep, LiftedRep])) Источник | Начиная с: template-haskell-2.16.0.0 |
| (Lift a, Lift b, Lift c) => Lift ((# a, b, c #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep, LiftedRep])) Источник | Начиная с: template-haskell-2.16.0.0 |
| (Lift a, Lift b, Lift c, Lift d) => Lift ((# a | b | c | d #) :: TYPE ('SumRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep])) Источник | Начиная с: template-haskell-2.16.0.0 |
| (Lift a, Lift b, Lift c, Lift d) => Lift ((# a, b, c, d #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep])) Источник | Начиная с: template-haskell-2.16.0.0 |
| (Lift a, Lift b, Lift c, Lift d, Lift e) => Lift ((# a | b | c | d | e #) :: TYPE ('SumRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) Источник | Начиная с: template-haskell-2.16.0.0 |
| (Lift a, Lift b, Lift c, Lift d, Lift e) => Lift ((# a, b, c, d, e #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) Источник | Начиная с: template-haskell-2.16.0.0 |
| (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f) => Lift ((# a | b | c | d | e | f #) :: TYPE ('SumRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) Источник | Начиная с: template-haskell-2.16.0.0 |
| (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f) => Lift ((# a, b, c, d, e, f #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) Источник | Начиная с: template-haskell-2.16.0.0 |
| (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f, Lift g) => Lift ((# a | b | c | d | e | f | g #) :: TYPE ('SumRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) Источник | Начиная с: template-haskell-2.16.0.0 |
| (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f, Lift g) => Lift ((# a, b, c, d, e, f, g #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) Источник | Начиная с: template-haskell-2.16.0.0 |
(Вид) Это вид символов на уровне типов.
Экземпляры
| SingKind Symbol | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| TestCoercion SSymbol Источник | Начиная с: base-4.18.0.0 |
||||
Определено в GHC.Internal.TypeLits | |||||
| TestEquality SSymbol Источник | Начиная с: base-4.18.0.0 |
||||
Определено в GHC.Internal.TypeLits | |||||
| KnownSymbol a => SingI (a :: Symbol) | Начиная с: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыsing :: Sing a | |||||
| type DemoteRep Symbol Источник | |||||
Определено в GHC.Internal.Generics | |||||
| data Sing (s :: Symbol) Источник | |||||
Определено в GHC.Internal.Generics data Sing (s :: Symbol) where
| |||||
| type Compare (a :: Symbol) (b :: Symbol) Источник | |||||
Определено в GHC.Internal.Data.Type.Ord | |||||
type UnliftedRep = 'BoxedRep 'Unlifted Источник
Представление невозводимых типов во время выполнения.
type UnliftedType = TYPE UnliftedRep Источник
Вид упакованных невозводимых значений, например Array# или определённого пользователем невозводимого типа данных с использованием -XUnliftedDataTypes.
Длина типа SIMD-вектора
Экземпляры
| Bounded VecCount Исходный код | Начиная с: base-4.10.0.0 |
Определён в GHC.Internal.Enum | |
| Enum VecCount Исходный код | Начиная с: base-4.10.0.0 |
Определён в GHC.Internal.Enum Методыsucc :: VecCount -> VecCount Исходный код pred :: VecCount -> VecCount Исходный код toEnum :: Int -> VecCount Исходный код fromEnum :: VecCount -> Int Исходный код enumFrom :: VecCount -> [VecCount] Исходный код enumFromThen :: VecCount -> VecCount -> [VecCount] Исходный код enumFromTo :: VecCount -> VecCount -> [VecCount] Исходный код enumFromThenTo :: VecCount -> VecCount -> VecCount -> [VecCount] Исходный код | |
| Show VecCount Исходный код | Начиная с: base-4.11.0.0 |
Определён в GHC.Internal.Show МетодыshowsPrec :: Int -> VecCount -> ShowS Исходный код show :: VecCount -> String Исходный код showList :: [VecCount] -> ShowS Исходный код | |
data VecElem Исходный код
Элемент типа SIMD-вектора
Конструкторы
| Int8ElemRep | |
| Int16ElemRep | |
| Int32ElemRep | |
| Int64ElemRep | |
| Word8ElemRep | |
| Word16ElemRep | |
| Word32ElemRep | |
| Word64ElemRep | |
| FloatElemRep | |
| DoubleElemRep |
Экземпляры
| Bounded VecElem Исходный код | Начиная с: base-4.10.0.0 |
Определён в GHC.Internal.Enum | |
| Enum VecElem Исходный код | Начиная с: base-4.10.0.0 |
Определён в GHC.Internal.Enum Методыsucc :: VecElem -> VecElem Исходный код pred :: VecElem -> VecElem Исходный код toEnum :: Int -> VecElem Исходный код fromEnum :: VecElem -> Int Исходный код enumFrom :: VecElem -> [VecElem] Исходный код enumFromThen :: VecElem -> VecElem -> [VecElem] Исходный код enumFromTo :: VecElem -> VecElem -> [VecElem] Исходный код enumFromThenTo :: VecElem -> VecElem -> VecElem -> [VecElem] Исходный код | |
| Show VecElem Исходный код | Начиная с: base-4.11.0.0 |
Определён в GHC.Internal.Show МетодыshowsPrec :: Int -> VecElem -> ShowS Исходный код show :: VecElem -> String Исходный код showList :: [VecElem] -> ShowS Исходный код | |
data Word Исходный код
Тип Word — это беззнаковый целочисленный тип того же размера, что и Int.
Экземпляры
| PrintfArg Word Исходный код | Начиная с: base-2.1 |
Определено в Text.Printf Методы | |
| Bits Word Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Bits Методы(.&.) :: Word -> Word -> Word Исходный код (.|.) :: Word -> Word -> Word Исходный код xor :: Word -> Word -> Word Исходный код complement :: Word -> Word Исходный код shift :: Word -> Int -> Word Исходный код rotate :: Word -> Int -> Word Исходный код bit :: Int -> Word Исходный код setBit :: Word -> Int -> Word Исходный код clearBit :: Word -> Int -> Word Исходный код complementBit :: Word -> Int -> Word Исходный код testBit :: Word -> Int -> Bool Исходный код bitSizeMaybe :: Word -> Maybe Int Исходный код bitSize :: Word -> Int Исходный код isSigned :: Word -> Bool Исходный код shiftL :: Word -> Int -> Word Исходный код unsafeShiftL :: Word -> Int -> Word Исходный код shiftR :: Word -> Int -> Word Исходный код unsafeShiftR :: Word -> Int -> Word Исходный код rotateL :: Word -> Int -> Word Исходный код rotateR :: Word -> Int -> Word Исходный код popCount :: Word -> Int Исходный код | |
| FiniteBits Word Исходный код | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Bits | |
| Eq Word Исходный код | |
Определено в GHC.Internal.Classes | |
| Ord Word Исходный код | |
Определено в GHC.Internal.Classes Методыcompare :: Word -> Word -> Ordering Исходный код (<) :: Word -> Word -> Bool Исходный код (<=) :: Word -> Word -> Bool Исходный код (>) :: Word -> Word -> Bool Исходный код (>=) :: Word -> Word -> Bool Исходный код max :: Word -> Word -> Word Исходный код min :: Word -> Word -> Word Исходный код | |
| Data Word Исходный код | Начиная с: base-4.0.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word -> c Word Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word Исходный код toConstr :: Word -> Constr Исходный код dataTypeOf :: Word -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word) Исходный код gmapT :: (forall b. Data b => b -> b) -> Word -> Word Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Word -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Word -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word -> m Word Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word -> m Word Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word -> m Word Исходный код | |
| Bounded Word Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Enum | |
| Enum Word Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Enum Методыsucc :: Word -> Word Исходный код pred :: Word -> Word Исходный код toEnum :: Int -> Word Исходный код fromEnum :: Word -> Int Исходный код enumFrom :: Word -> [Word] Исходный код enumFromThen :: Word -> Word -> [Word] Исходный код enumFromTo :: Word -> Word -> [Word] Исходный код enumFromThenTo :: Word -> Word -> Word -> [Word] Исходный код | |
| Storable Word Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Word -> Int Исходный код alignment :: Word -> Int Исходный код peekElemOff :: Ptr Word -> Int -> IO Word Исходный код pokeElemOff :: Ptr Word -> Int -> Word -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Word Исходный код pokeByteOff :: Ptr b -> Int -> Word -> IO () Исходный код | |||||
| Ix Word Исходный код | Начиная с: base-4.6.0.0 |
||||
Определено в GHC.Internal.Ix Методыrange :: (Word, Word) -> [Word] Исходный код index :: (Word, Word) -> Word -> Int Исходный код unsafeIndex :: (Word, Word) -> Word -> Int Исходный код inRange :: (Word, Word) -> Word -> Bool Исходный код rangeSize :: (Word, Word) -> Int Исходный код unsafeRangeSize :: (Word, Word) -> Int Исходный код | |||||
| Num Word Исходный код | Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Num Методы(+) :: Word -> Word -> Word Исходный код (-) :: Word -> Word -> Word Исходный код (*) :: Word -> Word -> Word Исходный код negate :: Word -> Word Исходный код abs :: Word -> Word Исходный код signum :: Word -> Word Исходный код fromInteger :: Integer -> Word Исходный код | |||||
| Read Word Исходный код | Начиная с: base-4.5.0.0 |
||||
Определено в GHC.Internal.Read МетодыreadsPrec :: Int -> ReadS Word Исходный код readList :: ReadS [Word] Исходный код | |||||
| Integral Word Исходный код | Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Real Методыquot :: Word -> Word -> Word Исходный код rem :: Word -> Word -> Word Исходный код div :: Word -> Word -> Word Исходный код mod :: Word -> Word -> Word Исходный код quotRem :: Word -> Word -> (Word, Word) Исходный код divMod :: Word -> Word -> (Word, Word) Исходный код toInteger :: Word -> Integer Исходный код | |||||
| Real Word Исходный код | Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Real МетодыtoRational :: Word -> Rational Исходный код | |||||
| Show Word Исходный код | Начиная с: base-2.1 |
||||
Определено в GHC.Internal.Show МетодыshowsPrec :: Int -> Word -> ShowS Исходный код show :: Word -> String Исходный код showList :: [Word] -> ShowS Исходный код | |||||
| Lift Word Исходный код | |||||
Определено в GHC.Internal.TH.Lift | |||||
| Generic1 (URec Word :: k -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Eq1 (UWord :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Ord1 (UWord :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> UWord a -> UWord b -> Ordering Исходный код | |||||
| Show1 (UWord :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UWord a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UWord a] -> ShowS Исходный код | |||||
| Foldable (UWord :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UWord m -> m Исходный код foldMap :: Monoid m => (a -> m) -> UWord a -> m Исходный код foldMap' :: Monoid m => (a -> m) -> UWord a -> m Исходный код foldr :: (a -> b -> b) -> b -> UWord a -> b Исходный код foldr' :: (a -> b -> b) -> b -> UWord a -> b Исходный код foldl :: (b -> a -> b) -> b -> UWord a -> b Исходный код foldl' :: (b -> a -> b) -> b -> UWord a -> b Исходный код foldr1 :: (a -> a -> a) -> UWord a -> a Исходный код foldl1 :: (a -> a -> a) -> UWord a -> a Исходный код toList :: UWord a -> [a] Исходный код null :: UWord a -> Bool Исходный код length :: UWord a -> Int Исходный код elem :: Eq a => a -> UWord a -> Bool Исходный код maximum :: Ord a => UWord a -> a Исходный код minimum :: Ord a => UWord a -> a Исходный код sum :: Num a => UWord a -> a Исходный код product :: Num a => UWord a -> a Исходный код | |||||
| Traversable (UWord :: Type -> Type) Исходный код | С версии: base-4.9.0.0 |
||||
Определён в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> UWord a -> f (UWord b) Исходный код sequenceA :: Applicative f => UWord (f a) -> f (UWord a) Исходный код mapM :: Monad m => (a -> m b) -> UWord a -> m (UWord b) Исходный код sequence :: Monad m => UWord (m a) -> m (UWord a) Исходный код | |||||
| Functor (URec Word :: Type -> Type) Исходный код | С версии: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics | |||||
| Eq (URec Word p) Исходный код | С версии: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics | |||||
| Ord (URec Word p) Исходный код | С версии: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics Методыcompare :: URec Word p -> URec Word p -> Ordering Исходный код (<) :: URec Word p -> URec Word p -> Bool Исходный код (<=) :: URec Word p -> URec Word p -> Bool Исходный код (>) :: URec Word p -> URec Word p -> Bool Исходный код (>=) :: URec Word p -> URec Word p -> Bool Исходный код max :: URec Word p -> URec Word p -> URec Word p Исходный код min :: URec Word p -> URec Word p -> URec Word p Исходный код | |||||
| Generic (URec Word p) Исходный код | |||||
Определён в GHC.Internal.Generics Связанные типы
| |||||
| Show (URec Word p) Исходный код | С версии: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics | |||||
| data URec Word (p :: k) Исходный код |
Используется для обозначения вхождений С версии: base-4.9.0.0 |
||||
| type Rep1 (URec Word :: k -> Type) Исходный код | С версии: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics | |||||
| type Rep (URec Word p) Исходный код | С версии: base-4.9.0.0 |
||||
Определён в GHC.Internal.Generics | |||||
data WordBox (a :: TYPE 'WordRep) Исходный код
Конструкторы
| MkWordBox a |
type ZeroBitRep = 'TupleRep ('[] :: [RuntimeRep]) Исходный код
Представление во время выполнения кортежа нулевой ширины, состоящего из нуля битов
type ZeroBitType = TYPE ZeroBitRep Исходный код
Вид пустого неупакованного типа кортежа (# #)
class a ~# b => (a :: k) ~ (b :: k) infix 4 Исходный код
Поднятое однородное равенство. Под «поднятым» подразумевается, что оно может быть фиктивным (отложенная ошибка типа). Под «однородным» — что типы a и b должны иметь одинаковые виды.
class a ~# b => (a :: k0) ~~ (b :: k1) infix 4 Исходный код
Поднятое разнородное равенство. Под «поднятым» подразумевается, что оно может быть фиктивным (отложенная ошибка типа). Под «разнородным» — что типы a и b могут иметь разные виды. Поскольку ~~ может неожиданно появиться в сообщениях об ошибках для пользователей, которым не важна разница между разнородным равенством ~~ и однородным равенством ~, оно выводится как ~, если не задано -fprint-equality-relations.
В 0.7.0 фиксированность была установлена в infix 4, чтобы соответствовать фиксированности :~~:.
Устаревший интерфейс для массивов массивов
module GHC.Internal.ArrayArray
Примитивные операции
(*#) :: Int# -> Int# -> Int# infixl 7 Исходный код
Младшее слово произведения знаковых целых чисел.
(*##) :: Double# -> Double# -> Double# infixl 7 Исходный код
(**##) :: Double# -> Double# -> Double# Исходный код
Возведение в степень.
(+#) :: Int# -> Int# -> Int# infixl 6 Исходный код
(+##) :: Double# -> Double# -> Double# infixl 6 Исходный код
(-#) :: Int# -> Int# -> Int# infixl 6 Исходный код
(-##) :: Double# -> Double# -> Double# infixl 6 Исходный код
(/##) :: Double# -> Double# -> Double# infixl 7 Исходный код
(/=#) :: Int# -> Int# -> Int# infix 4 Исходный код
(/=##) :: Double# -> Double# -> Int# infix 4 Исходный код
(<#) :: Int# -> Int# -> Int# infix 4 Исходный код
(<##) :: Double# -> Double# -> Int# infix 4 Исходный код
(<=#) :: Int# -> Int# -> Int# infix 4 Исходный код
(<=##) :: Double# -> Double# -> Int# infix 4 Исходный код
(==#) :: Int# -> Int# -> Int# infix 4 Исходный код
(==##) :: Double# -> Double# -> Int# infix 4 Исходный код
(>#) :: Int# -> Int# -> Int# infix 4 Исходный код
(>##) :: Double# -> Double# -> Int# infix 4 Исходный код
(>=#) :: Int# -> Int# -> Int# infix 4 Исходный код
(>=##) :: Double# -> Double# -> Int# infix 4 Исходный код
acosDouble# :: Double# -> Double# Исходный код
acosFloat# :: Float# -> Float# Исходный код
acoshDouble# :: Double# -> Double# Исходный код
acoshFloat# :: Float# -> Float# Исходный код
addCFinalizerToWeak# :: forall {k :: Levity} (b :: TYPE ('BoxedRep k)). Addr# -> Addr# -> Int# -> Addr# -> Weak# b -> State# RealWorld -> (# State# RealWorld, Int# #) Исходный код
addCFinalizerToWeak# fptr ptr flag eptr w присоединяет указатель на функцию C fptr к слабому указателю w в качестве финализатора. Если flag равен нулю, fptr будет вызвана с одним аргументом, ptr. В противном случае она будет вызвана с двумя аргументами: eptr и ptr. addCFinalizerToWeak# возвращает 1 в случае успеха или 0, если w уже не существует.
addIntC# :: Int# -> Int# -> (# Int#, Int# #) Исходный код
Складывает целые числа со знаком, сообщая о переполнении. Первый элемент результата — сумма, усечённая до Int#; второй элемент равен нулю, если истинная сумма помещается в Int#, и ненулевому значению при переполнении (сумма слишком велика или слишком мала, чтобы поместиться в Int#).
addWordC# :: Word# -> Word# -> (# Word#, Int# #) Исходный код
Складывает беззнаковые целые числа, сообщая о переполнении. Первый элемент пары — результат. Второй элемент — флаг переноса, ненулевой при переполнении. См. также plusWord2#.
addr2Int# :: Addr# -> Int# Исходный код
Преобразует адрес непосредственно в целое число. Не рекомендуется использовать эту операцию, поскольку на платформах с тегированными указателями она практически не имеет смысла.
addrToAny# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). Addr# -> (# a #) Исходный код
Преобразует Addr# в отслеживаемый тип Any.
and# :: Word# -> Word# -> Word# Исходный код
and64# :: Word64# -> Word64# -> Word64# Исходный код
andI# :: Int# -> Int# -> Int# Исходный код
Побитовое И.
andWord16# :: Word16# -> Word16# -> Word16# Исходный код
andWord32# :: Word32# -> Word32# -> Word32# Исходный код
andWord8# :: Word8# -> Word8# -> Word8# Исходный код
annotateStack# :: b -> (State# d -> (# State# d, a #)) -> State# d -> (# State# d, a #) Исходный код
Помещает в стек кадр аннотации, который может быть выведен в трассировке стека.
anyToAddr# :: a -> State# RealWorld -> (# State# RealWorld, Addr# #) Исходный код
Возвращает адрес любого значения Haskell. По сути, это unsafeCoerce#, однако при такой реализации проверка core lint выдаёт ошибку и компиляция завершается неудачей. Будучи примитивной операцией, она непрозрачна для core/stg и появляется только в cmm (где проход распространения копий удаляет её). Обратите внимание: «a» должно быть значением, а не thunk! Анализу строгости уже слишком поздно это проверять, поэтому гарантировать это вам придётся самостоятельно. Также учтите, что Addr# не является указателем GC — вам необходимо самостоятельно гарантировать, что сразу после его получения он не станет висячим указателем.
asinDouble# :: Double# -> Double# Исходный код
asinFloat# :: Float# -> Float# Исходный код
asinhDouble# :: Double# -> Double# Исходный код
asinhFloat# :: Float# -> Float# Исходный код
atanDouble# :: Double# -> Double# Исходный код
atanFloat# :: Float# -> Float# Исходный код
atanhDouble# :: Double# -> Double# Исходный код
atanhFloat# :: Float# -> Float# Исходный код
atomicCasAddrAddr# :: Addr# -> Addr# -> Addr# -> State# d -> (# State# d, Addr# #) Исходный код
Атомарная операция сравнения и обмена для ячейки памяти размером в машинное слово.
Использование: s -> atomicCasAddrAddr# location expected desired s
Эта версия всегда возвращает прочитанное старое значение. Это соответствует обычному протоколу операций CAS (и совпадает с поведением базовой инструкции на большинстве архитектур).
Подразумевает полный барьер памяти.
atomicCasWord16Addr# :: Addr# -> Word16# -> Word16# -> State# d -> (# State# d, Word16# #) Исходный код
Атомарная операция сравнения и обмена для выровненной ячейки памяти размером 16 бит.
Использование: s -> atomicCasWordAddr16# location expected desired s
Эта версия всегда возвращает прочитанное старое значение. Это соответствует обычному протоколу операций CAS (и совпадает с поведением базовой инструкции на большинстве архитектур).
Подразумевает полный барьер памяти.
atomicCasWord32Addr# :: Addr# -> Word32# -> Word32# -> State# d -> (# State# d, Word32# #) Исходный код
Атомарная операция сравнения и обмена для выровненной ячейки памяти размером 32 бита.
Использование: s -> atomicCasWordAddr32# location expected desired s
Эта версия всегда возвращает прочитанное старое значение. Это соответствует обычному протоколу операций CAS (и совпадает с поведением базовой инструкции на большинстве архитектур).
Подразумевает полный барьер памяти.
atomicCasWord64Addr# :: Addr# -> Word64# -> Word64# -> State# d -> (# State# d, Word64# #) Исходный код
Атомарная операция сравнения и обмена для выровненной ячейки памяти размером 64 бита.
Использование: s -> atomicCasWordAddr64# location expected desired s
Эта версия всегда возвращает прочитанное старое значение. Это соответствует обычному протоколу операций CAS (и совпадает с поведением базовой инструкции на большинстве архитектур).
Подразумевает полный барьер памяти.
atomicCasWord8Addr# :: Addr# -> Word8# -> Word8# -> State# d -> (# State# d, Word8# #) Исходный код
Атомарная операция сравнения и обмена для выровненной ячейки памяти размером 8 бит.
Использование: s -> atomicCasWordAddr8# location expected desired s
Эта версия всегда возвращает прочитанное старое значение. Это соответствует обычному протоколу операций CAS (и совпадает с поведением базовой инструкции на большинстве архитектур).
Подразумевает полный барьер памяти.
atomicCasWordAddr# :: Addr# -> Word# -> Word# -> State# d -> (# State# d, Word# #) Исходный код
Атомарная операция сравнения и обмена для выровненной ячейки памяти размером в машинное слово.
Использование: s -> atomicCasWordAddr# location expected desired s
Эта версия всегда возвращает прочитанное старое значение. Это соответствует обычному протоколу операций CAS (и совпадает с поведением базовой инструкции на большинстве архитектур).
Подразумевает полный барьер памяти.
atomicExchangeAddrAddr# :: Addr# -> Addr# -> State# d -> (# State# d, Addr# #) Исходный код
Атомарная операция обмена. Атомарно заменяет значение по первому адресу на Addr#, переданный вторым аргументом. Подразумевает барьер чтения.
atomicExchangeWordAddr# :: Addr# -> Word# -> State# d -> (# State# d, Word# #) Исходный код
Атомарная операция обмена. Атомарно заменяет значение по адресу заданным значением. Возвращает старое значение. Подразумевает барьер чтения.
atomicModifyMutVar2# :: MutVar# d a -> (a -> c) -> State# d -> (# State# d, a, c #) Исходный код
Изменяет содержимое MutVar#, возвращая предыдущее содержимое x :: a и результат применения заданной функции к предыдущему содержимому f x :: c.
Тип data c (не newtype!) должен быть записью, первым полем которой является тип с поднятым уровнем a :: Type и которое не распаковано. Например, хорошо подходят типы-произведения c ~ Solo a или c ~ (a, b). Если тип записи мономорфен и первое поле строгое, рекомендуется явно пометить последнее как {-# NOUNPACK #-}.
Внутри atomicModifyMutVar2# атомарно заменяет указатель на старое значение x :: a указателем на thunk-селектор fst r, где fst — селектор первого поля записи, а r — thunk применения функции r = f x.
atomicModifyIORef2Native из пакета atomic-modify-general старается точно отражать ограничения c, предоставляя хорошо типизированную высокоуровневую обёртку.
atomicModifyMutVar_# :: MutVar# d a -> (a -> a) -> State# d -> (# State# d, a, a #) Исходный код
Изменяет содержимое MutVar#, возвращая предыдущее содержимое и результат применения заданной функции к предыдущему содержимому.
atomicReadIntArray# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int# #) Исходный код
Читает элемент массива по смещению, заданному в машинных словах. Предполагается, что индекс находится в допустимых границах. Подразумевает полный барьер памяти.
atomicReadWordAddr# :: Addr# -> State# d -> (# State# d, Word# #) Исходный код
По заданному адресу считывает машинное слово. Обеспечивает полный барьер памяти.
atomicSwapMutVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutVar# d a -> a -> State# d -> (# State# d, a #) Исходный код
Атомарно заменяет значение в MutVar#.
atomicWriteIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Исходный код
По заданному массиву и смещению в машинных словах записывает элемент. Предполагается, что индекс находится в допустимых пределах. Обеспечивает полный барьер памяти.
atomicWriteWordAddr# :: Addr# -> Word# -> State# d -> State# d Исходный код
По заданному адресу записывает машинное слово. Обеспечивает полный барьер памяти.
atomically# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #) Исходный код
bitReverse# :: Word# -> Word# Исходный код
Изменяет порядок битов в слове на обратный.
bitReverse16# :: Word# -> Word# Исходный код
Изменяет порядок битов в 16-битном слове на обратный.
bitReverse32# :: Word# -> Word# Исходный код
Изменяет порядок битов в 32-битном слове на обратный.
bitReverse64# :: Word64# -> Word64# Исходный код
Изменяет порядок битов в 64-битном слове на обратный.
bitReverse8# :: Word# -> Word# Исходный код
Изменяет порядок битов в 8-битном слове на обратный.
broadcastDoubleX2# :: Double# -> DoubleX2# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastDoubleX4# :: Double# -> DoubleX4# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastDoubleX8# :: Double# -> DoubleX8# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastFloatX16# :: Float# -> FloatX16# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastFloatX4# :: Float# -> FloatX4# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastFloatX8# :: Float# -> FloatX8# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastInt16X16# :: Int16# -> Int16X16# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastInt16X32# :: Int16# -> Int16X32# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastInt16X8# :: Int16# -> Int16X8# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastInt32X16# :: Int32# -> Int32X16# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastInt32X4# :: Int32# -> Int32X4# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastInt32X8# :: Int32# -> Int32X8# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastInt64X2# :: Int64# -> Int64X2# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastInt64X4# :: Int64# -> Int64X4# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastInt64X8# :: Int64# -> Int64X8# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastInt8X16# :: Int8# -> Int8X16# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastInt8X32# :: Int8# -> Int8X32# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastInt8X64# :: Int8# -> Int8X64# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastWord16X16# :: Word16# -> Word16X16# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastWord16X32# :: Word16# -> Word16X32# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastWord16X8# :: Word16# -> Word16X8# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastWord32X16# :: Word32# -> Word32X16# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastWord32X4# :: Word32# -> Word32X4# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastWord32X8# :: Word32# -> Word32X8# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastWord64X2# :: Word64# -> Word64X2# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastWord64X4# :: Word64# -> Word64X4# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastWord64X8# :: Word64# -> Word64X8# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastWord8X16# :: Word8# -> Word8X16# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastWord8X32# :: Word8# -> Word8X32# Исходный код
Распространяет скалярное значение во все элементы вектора.
broadcastWord8X64# :: Word8# -> Word8X64# Исходный код
Распространяет скалярное значение во все элементы вектора.
byteArrayContents# :: ByteArray# -> Addr# Исходный код
Предназначено для использования с закреплёнными массивами; в противном случае крайне небезопасно!
byteSwap# :: Word# -> Word# Исходный код
Меняет порядок байтов в слове на обратный.
byteSwap16# :: Word# -> Word# Исходный код
Меняет порядок байтов в младших 16 битах слова на обратный. Старшие байты не определены.
byteSwap32# :: Word# -> Word# Исходный код
Меняет порядок байтов в младших 32 битах слова на обратный. Старшие байты не определены.
byteSwap64# :: Word64# -> Word64# Исходный код
Меняет порядок байтов в 64 битах слова на обратный.
casArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutableArray# d a -> Int# -> a -> a -> State# d -> (# State# d, Int#, a #) Исходный код
Для заданных массива, смещения, ожидаемого старого значения и нового значения выполняет атомарное сравнение и обмен (то есть записывает новое значение, если текущий указатель совпадает с указателем старого значения). Возвращает 0, если обмен выполнен, и 1, если нет. Кроме того, возвращает элемент по смещению после завершения операции. Это означает, что при успешном выполнении возвращается новое значение, а при неудаче — фактическое старое значение (а не ожидаемое). Обеспечивает полный барьер памяти. Проверка равенства указателей для упакованного значения усложняет корректное использование этой функции по сравнению с casIntArray#. Все сложности корректного использования reallyUnsafePtrEquality# применимы также к casArray#.
casInt16Array# :: MutableByteArray# d -> Int# -> Int16# -> Int16# -> State# d -> (# State# d, Int16# #) Исходный код
Для заданных массива, смещения в единицах по 16 бит, ожидаемого старого значения и нового значения выполняет атомарное сравнение и обмен, то есть записывает новое значение, если текущее значение совпадает с заданным старым значением. Возвращает значение элемента до выполнения операции. Обеспечивает полный барьер памяти.
casInt32Array# :: MutableByteArray# d -> Int# -> Int32# -> Int32# -> State# d -> (# State# d, Int32# #) Исходный код
Для заданных массива, смещения в единицах по 32 бита, ожидаемого старого значения и нового значения выполняет атомарное сравнение и обмен, то есть записывает новое значение, если текущее значение совпадает с заданным старым значением. Возвращает значение элемента до выполнения операции. Обеспечивает полный барьер памяти.
casInt64Array# :: MutableByteArray# d -> Int# -> Int64# -> Int64# -> State# d -> (# State# d, Int64# #) Исходный код
Для заданных массива, смещения в единицах по 64 бита, ожидаемого старого значения и нового значения выполняет атомарное сравнение и обмен, то есть записывает новое значение, если текущее значение совпадает с заданным старым значением. Возвращает значение элемента до выполнения операции. Обеспечивает полный барьер памяти.
casInt8Array# :: MutableByteArray# d -> Int# -> Int8# -> Int8# -> State# d -> (# State# d, Int8# #) Исходный код
Для заданных массива, смещения в байтах, ожидаемого старого значения и нового значения выполняет атомарное сравнение и обмен, то есть записывает новое значение, если текущее значение совпадает с заданным старым значением. Возвращает значение элемента до выполнения операции. Обеспечивает полный барьер памяти.
casIntArray# :: MutableByteArray# d -> Int# -> Int# -> Int# -> State# d -> (# State# d, Int# #) Исходный код
Для заданных массива, смещения в машинных словах, ожидаемого старого значения и нового значения выполняет атомарное сравнение и обмен, то есть записывает новое значение, если текущее значение совпадает с заданным старым значением. Возвращает значение элемента до выполнения операции. Обеспечивает полный барьер памяти.
casMutVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutVar# d a -> a -> a -> State# d -> (# State# d, Int#, a #) Исходный код
Сравнение и обмен: проверяет равенство указателя между первым переданным этой функции значением и значением, хранящимся в MutVar#. Если указатели равны, заменяет хранящееся значение вторым значением, переданным этой функции; в противном случае ничего не делает. Возвращает конечное значение, хранящееся в MutVar#. Значение Int# указывает, произошёл ли обмен: 1# означает, что обмен не произошёл, а 0# — что произошёл. Обеспечивает полный барьер памяти. Поскольку сравнение выполняется на уровне указателей, все сложности корректного использования reallyUnsafePtrEquality# применимы также к casMutVar#.
casSmallArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> Int# -> a -> a -> State# d -> (# State# d, Int#, a #) Исходный код
Небезопасная атомарная операция сравнения и обмена на уровне машины для элемента массива. См. документацию casArray#.
castDoubleToWord64# :: Double# -> Word64# Исходный код
Переинтерпретирует биты Double# как Word64#
castFloatToWord32# :: Float# -> Word32# Исходный код
Переинтерпретирует биты Float# как Word32#
castWord32ToFloat# :: Word32# -> Float# Исходный код
Переинтерпретирует биты Word32# как Float#
castWord64ToDouble# :: Word64# -> Double# Исходный код
Переинтерпретирует биты Word64# как Double#
catch# :: forall {k :: Levity} a (b :: TYPE ('BoxedRep k)). (State# RealWorld -> (# State# RealWorld, a #)) -> (b -> State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #) Исходный код
catch# k handler s вычисляет k s, вызывая handler при любых возникших исключениях.
Обратите внимание, что тип результата здесь не совсем настолько неограничен, как может показаться из полиморфного типа; подробности см. в разделе «Полиморфизм RuntimeRep в примоперациях с продолжением».
catchRetry# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). (State# RealWorld -> (# State# RealWorld, a #)) -> (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #) Исходный код
catchSTM# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) b. (State# RealWorld -> (# State# RealWorld, a #)) -> (b -> State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #) Исходный код
chr# :: Int# -> Char# Исходный код
clearCCS# :: (State# d -> (# State# d, a #)) -> State# d -> (# State# d, a #) Исходный код
Выполняет переданное действие IO с пустым CCS. Например, интерпретатор использует это для выполнения интерпретируемого вычисления так, чтобы стек вызовов не показывал, что оно было вызвано из GHC.
cloneArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). Array# a -> Int# -> Int# -> Array# a Исходный код
Получив исходный массив, смещение в исходном массиве и число копируемых элементов, создаёт новый массив с элементами из исходного массива. Предоставленный массив должен полностью содержать указанный диапазон, однако эта проверка не выполняется.
cloneMutableArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutableArray# d a -> Int# -> Int# -> State# d -> (# State# d, MutableArray# d a #) Исходный код
Получив исходный массив, смещение в исходном массиве и число копируемых элементов, создаёт новый массив с элементами из исходного массива. Предоставленный массив должен полностью содержать указанный диапазон, однако эта проверка не выполняется.
cloneSmallArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). SmallArray# a -> Int# -> Int# -> SmallArray# a Исходный код
Получив исходный массив, смещение в исходном массиве и число копируемых элементов, создаёт новый массив с элементами из исходного массива. Предоставленный массив должен полностью содержать указанный диапазон, однако эта проверка не выполняется.
cloneSmallMutableArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> Int# -> Int# -> State# d -> (# State# d, SmallMutableArray# d a #) Исходный код
Получив исходный массив, смещение в исходном массиве и число копируемых элементов, создаёт новый массив с элементами из исходного массива. Предоставленный массив должен полностью содержать указанный диапазон, однако эта проверка не выполняется.
closureSize# :: a -> Int# Исходный код
closureSize# closure возвращает размер заданного замыкания в машинных словах.
clz# :: Word# -> Word# Исходный код
Подсчитывает ведущие нули в машинном слове.
clz16# :: Word# -> Word# Исходный код
Подсчитывает ведущие нули в младших 16 битах машинного слова.
clz32# :: Word# -> Word# Исходный код
Подсчитывает ведущие нули в младших 32 битах машинного слова.
clz64# :: Word64# -> Word# Исходный код
Подсчитывает ведущие нули в 64-битном машинном слове.
clz8# :: Word# -> Word# Исходный код
Подсчитывает ведущие нули в младших 8 битах машинного слова.
compactAdd# :: Compact# -> a -> State# RealWorld -> (# State# RealWorld, a #) Исходный код
Рекурсивно добавляет замыкание и его транзитивное замыкание в Compact# (CNF), одновременно вычисляя все невычисленные компоненты. Примечание: compactAdd# не является потокобезопасным, поэтому в любой момент времени только один поток может вызывать compactAdd# с конкретным Compact#. Примоперация не обеспечивает взаимное исключение; вызывающий код должен позаботиться об этом самостоятельно.
compactAddWithSharing# :: Compact# -> a -> State# RealWorld -> (# State# RealWorld, a #) Исходный код
Как compactAdd#, но сохраняет совместное использование и циклы при компактизации.
compactAllocateBlock# :: Word# -> Addr# -> State# RealWorld -> (# State# RealWorld, Addr# #) Исходный код
Пытается выделить компактный блок ёмкостью (в байтах), указанной первым аргументом. Addr# — это указатель на предыдущий компактный блок CNF, либо nullAddr# для создания нового CNF с одним компактным блоком.
Сборщику мусора неизвестно о созданном блоке, пока для него не будет вызвана compactFixupPointers#; необходимо следить за тем, чтобы адрес не вышел за пределы области видимости, иначе произойдёт утечка памяти.
compactContains# :: Compact# -> a -> State# RealWorld -> (# State# RealWorld, Int# #) Исходный код
Возвращает 1#, если объект содержится в CNF, иначе 0#.
compactContainsAny# :: a -> State# RealWorld -> (# RealWorld, Int# #) Исходный код
Возвращает 1#, если объект входит хотя бы в один CNF, иначе 0#.
compactFixupPointers# :: Addr# -> Addr# -> State# RealWorld -> (# State# RealWorld, Compact#, Addr# #) Исходный код
Получив указатель на первый блок CNF и адрес корневого объекта в старом адресном пространстве, корректирует внутренние указатели CNF с учётом того, что после сериализации объект может располагаться в другом месте памяти. Этот метод необходимо вызвать ровно один раз после импорта сериализованного CNF. Он возвращает новый CNF и новый скорректированный адрес корневого объекта.
compactGetFirstBlock# :: Compact# -> State# RealWorld -> (# State# RealWorld, Addr#, Word# #) Исходный код
Возвращает адрес и использованный размер (в байтах) первого компактного блока CNF.
compactGetNextBlock# :: Compact# -> Addr# -> State# RealWorld -> (# State# RealWorld, Addr#, Word# #) Исходный код
Получив CNF и адрес одного из его компактных блоков, возвращает следующий компактный блок и его использованный размер либо nullAddr#, если аргументом был последний компактный блок в CNF.
compactNew# :: Word# -> State# RealWorld -> (# State# RealWorld, Compact# #) Исходный код
Создаёт новый CNF с одним компактным блоком. Аргумент задаёт ёмкость компактного блока (в байтах, а не в машинных словах). Ёмкость округляется до ближайшего большего значения, кратного размеру блока аллокатора, и ограничивается одним мегаблоком.
compactResize# :: Compact# -> Word# -> State# RealWorld -> State# RealWorld Исходный код
Задаёт новый размер выделения памяти для CNF. Это значение (в байтах) определяет ёмкость каждого компактного блока в CNF. Оно не влияет задним числом на уже существующие компактные блоки CNF.
compactSize# :: Compact# -> State# RealWorld -> (# State# RealWorld, Word# #) Исходный код
Возвращает общую ёмкость (в байтах) всех компактных блоков CNF.
compareByteArrays# :: ByteArray# -> Int# -> ByteArray# -> Int# -> Int# -> Int# Исходный код
compareByteArrays# src1 src1_ofs src2 src2_ofs n сравнивает n байт, начиная со смещения src1_ofs в первом ByteArray# src1, с диапазоном из n байт (то есть той же длины), начинающимся со смещения src2_ofs во втором ByteArray# src2. Оба массива должны полностью содержать указанные диапазоны, однако эта проверка не выполняется. Возвращает Int# меньше нуля, равный нулю или больше нуля, если диапазон соответственно лексикографически меньше второго диапазона при побайтовом сравнении, совпадает с ним или больше него.
С версии: ghc-internal-0.5.2.0
control0# :: PromptTag# a -> (((State# RealWorld -> (# State# RealWorld, b #)) -> State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, b #) Исходный код
См. GHC.Prim.
copyAddrToAddr# :: Addr# -> Addr# -> Int# -> State# RealWorld -> State# RealWorld Исходный код
copyAddrToAddr# src dest len копирует len байт из src в dest. Эти два диапазона памяти могут перекрываться.
Аналогична стандартной функции C memmove, но аргументы передаются в другом порядке.
С версии: ghc-internal-0.11.0
copyAddrToAddrNonOverlapping# :: Addr# -> Addr# -> Int# -> State# RealWorld -> State# RealWorld Исходный код
copyAddrToAddrNonOverlapping# src dest len копирует len байт из src в dest. Как следует из названия, эти два диапазона памяти не должны перекрываться, однако это предварительное условие не проверяется.
Аналогична стандартной функции C memcpy, но аргументы передаются в другом порядке.
С версии: ghc-internal-0.11.0
copyAddrToByteArray# :: Addr# -> MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Исходный код
Копирует диапазон памяти, начинающийся с Addr#, в указанный диапазон MutableByteArray#. Область памяти по адресу Addr# и ByteArray# должны полностью содержать указанные диапазоны, однако эта проверка не выполняется. Addr# не должен указывать внутрь MutableByteArray# (например, если MutableByteArray# закреплён), но и это не проверяется.
copyArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. Array# a -> Int# -> MutableArray# d a -> Int# -> Int# -> State# d -> State# d Исходный код
Получив исходный массив, смещение в исходном массиве, целевой массив, смещение в целевом массиве и число копируемых элементов, копирует элементы из исходного массива в целевой. Оба массива должны полностью содержать указанные диапазоны, однако эта проверка не выполняется. Два массива не должны быть одним и тем же массивом в разных состояниях, но и это не проверяется.
copyByteArray# :: ByteArray# -> Int# -> MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Исходный код
copyByteArray# src src_ofs dst dst_ofs len копирует диапазон длиной len, начиная со смещения src_ofs в ByteArray# src, в MutableByteArray# dst, начиная со смещения dst_ofs. Оба массива должны полностью содержать указанные диапазоны, однако эта проверка не выполняется. Два массива не должны быть одним и тем же массивом в разных состояниях, но и это не проверяется.
copyByteArrayToAddr# :: ByteArray# -> Int# -> Addr# -> Int# -> State# d -> State# d Исходный код
Копирует диапазон ByteArray# в диапазон памяти, начинающийся с Addr#. ByteArray# и область памяти по адресу Addr# должны полностью содержать указанные диапазоны, однако эта проверка не выполняется. Addr# не должен указывать внутрь ByteArray# (например, если ByteArray# закреплён), но и это не проверяется.
copyMutableArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutableArray# d a -> Int# -> MutableArray# d a -> Int# -> Int# -> State# d -> State# d Исходный код
Получив исходный массив, смещение в исходном массиве, целевой массив, смещение в целевом массиве и число копируемых элементов, копирует элементы из исходного массива в целевой. Оба массива должны полностью содержать указанные диапазоны, однако эта проверка не выполняется. Если исходный и целевой массивы совпадают, исходный и целевой диапазоны могут перекрываться.
copyMutableByteArray# :: MutableByteArray# d -> Int# -> MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Источник
copyMutableByteArray# src src_ofs dst dst_ofs len копирует диапазон длиной len, начинающийся со смещения src_ofs, из MutableByteArray# src в MutableByteArray# dst, начиная со смещения dst_ofs. Оба массива должны полностью содержать указанные диапазоны, но это не проверяется. Областям разрешено перекрываться, хотя это возможно только в том случае, если один и тот же массив указан и как источник, и как назначение.
copyMutableByteArrayNonOverlapping# :: MutableByteArray# d -> Int# -> MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Источник
copyMutableByteArrayNonOverlapping# src src_ofs dst dst_ofs len копирует диапазон длиной len, начинающийся со смещения src_ofs, из MutableByteArray# src в MutableByteArray# dst, начиная со смещения dst_ofs. Оба массива должны полностью содержать указанные диапазоны, но это не проверяется. Областям не разрешено перекрываться, но это также не проверяется.
Начиная с: ghc-internal-0.11.0
copyMutableByteArrayToAddr# :: MutableByteArray# d -> Int# -> Addr# -> Int# -> State# d -> State# d Источник
Копирует диапазон из MutableByteArray# в диапазон памяти, начинающийся с Addr#. MutableByteArray# и область памяти по адресу Addr# должны полностью содержать указанные диапазоны, но это не проверяется. Addr# не должен указывать внутрь MutableByteArray# (например, если MutableByteArray# был закреплён), но это также не проверяется.
copySmallArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. SmallArray# a -> Int# -> SmallMutableArray# d a -> Int# -> Int# -> State# d -> State# d Источник
При наличии исходного массива, смещения в исходном массиве, массива назначения, смещения в массиве назначения и количества копируемых элементов копирует элементы из исходного массива в массив назначения. Оба массива должны полностью содержать указанные диапазоны, но это не проверяется. Два массива не должны быть одним и тем же массивом в разных состояниях, но это также не проверяется.
copySmallMutableArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> Int# -> SmallMutableArray# d a -> Int# -> Int# -> State# d -> State# d Источник
При наличии исходного массива, смещения в исходном массиве, массива назначения, смещения в массиве назначения и количества копируемых элементов копирует элементы из исходного массива в массив назначения. Исходный массив и массив назначения могут ссылаться на один и тот же массив. Оба массива должны полностью содержать указанные диапазоны, но это не проверяется. Областям разрешено перекрываться, хотя это возможно только в том случае, если один и тот же массив указан и как источник, и как назначение.
cosDouble# :: Double# -> Double# Источник
cosFloat# :: Float# -> Float# Источник
coshDouble# :: Double# -> Double# Источник
coshFloat# :: Float# -> Float# Источник
ctz# :: Word# -> Word# Источник
Подсчитывает количество завершающих нулей в слове.
ctz16# :: Word# -> Word# Источник
Подсчитывает количество завершающих нулей в младших 16 битах слова.
ctz32# :: Word# -> Word# Источник
Подсчитывает количество завершающих нулей в младших 32 битах слова.
ctz64# :: Word64# -> Word# Источник
Подсчитывает количество завершающих нулей в 64-битном слове.
ctz8# :: Word# -> Word# Источник
Подсчитывает количество завершающих нулей в младших 8 битах слова.
deRefStablePtr# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). StablePtr# a -> State# RealWorld -> (# State# RealWorld, a #) Источник
deRefWeak# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). Weak# a -> State# RealWorld -> (# State# RealWorld, Int#, a #) Источник
decodeDouble_2Int# :: Double# -> (# Int#, Word#, Word#, Int# #) Источник
Преобразует в целое число. Первый компонент результата равен -1 или 1 и указывает знак мантиссы. Следующие два компонента — старшие и младшие 32 бита мантиссы соответственно, а последний — показатель степени.
decodeDouble_Int64# :: Double# -> (# Int64#, Int# #) Источник
Декодирует Double# в мантиссу и показатель степени по основанию 2.
decodeFloat_Int# :: Float# -> (# Int#, Int# #) Источник
Преобразует в целые числа. Первый Int# в результате — мантисса, второй — показатель степени.
delay# :: Int# -> State# d -> State# d Источник
Ожидает указанное число микросекунд.
divideDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2# Источник
Выполняет поэлементное деление двух векторов.
divideDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4# Источник
Выполняет поэлементное деление двух векторов.
divideDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8# Источник
Выполняет поэлементное деление двух векторов.
divideFloat# :: Float# -> Float# -> Float# Источник
divideFloatX16# :: FloatX16# -> FloatX16# -> FloatX16# Источник
Выполняет поэлементное деление двух векторов.
divideFloatX4# :: FloatX4# -> FloatX4# -> FloatX4# Источник
Выполняет поэлементное деление двух векторов.
divideFloatX8# :: FloatX8# -> FloatX8# -> FloatX8# Источник
Выполняет поэлементное деление двух векторов.
double2Float# :: Double# -> Float# Источник
double2Int# :: Double# -> Int# Источник
Усекает значение Double# до ближайшего Int#. Результаты не определены, если усечение приводит к значению вне диапазона Int#.
eqAddr# :: Addr# -> Addr# -> Int# Источник
eqChar# :: Char# -> Char# -> Int# Источник
eqFloat# :: Float# -> Float# -> Int# Источник
eqInt16# :: Int16# -> Int16# -> Int# Источник
eqInt32# :: Int32# -> Int32# -> Int# Источник
eqInt64# :: Int64# -> Int64# -> Int# Источник
eqInt8# :: Int8# -> Int8# -> Int# Источник
eqStablePtr# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). StablePtr# a -> StablePtr# a -> Int# Источник
eqWord# :: Word# -> Word# -> Int# Источник
eqWord16# :: Word16# -> Word16# -> Int# Источник
eqWord32# :: Word32# -> Word32# -> Int# Источник
eqWord64# :: Word64# -> Word64# -> Int# Источник
eqWord8# :: Word8# -> Word8# -> Int# Источник
expDouble# :: Double# -> Double# Источник
expFloat# :: Float# -> Float# Источник
expm1Double# :: Double# -> Double# Источник
expm1Float# :: Float# -> Float# Источник
fabsDouble# :: Double# -> Double# Источник
fabsFloat# :: Float# -> Float# Источник
fetchAddIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (# State# d, Int# #) Источник
При наличии массива, смещения в машинных словах и значения для сложения атомарно прибавляет это значение к элементу. Возвращает значение элемента до выполнения операции. Гарантирует полный барьер памяти.
fetchAddWordAddr# :: Addr# -> Word# -> State# d -> (# State# d, Word# #) Источник
При наличии адреса и значения для сложения атомарно прибавляет это значение к элементу. Возвращает значение элемента до выполнения операции. Гарантирует полный барьер памяти.
fetchAndIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (# State# d, Int# #) Источник
При наличии массива, смещения в машинных словах и значения для операции AND атомарно выполняет побитовое AND этого значения с элементом. Возвращает значение элемента до выполнения операции. Гарантирует полный барьер памяти.
fetchAndWordAddr# :: Addr# -> Word# -> State# d -> (# State# d, Word# #) Источник
При наличии адреса и значения для операции AND атомарно выполняет побитовое AND этого значения с элементом. Возвращает значение элемента до выполнения операции. Гарантирует полный барьер памяти.
fetchNandIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (# State# d, Int# #) Источник
При наличии массива, смещения в машинных словах и значения для операции NAND атомарно выполняет побитовое NAND этого значения с элементом. Возвращает значение элемента до выполнения операции. Гарантирует полный барьер памяти.
fetchNandWordAddr# :: Addr# -> Word# -> State# d -> (# State# d, Word# #) Источник
При наличии адреса и значения для операции NAND атомарно выполняет побитовое NAND этого значения с элементом. Возвращает значение элемента до выполнения операции. Гарантирует полный барьер памяти.
fetchOrIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (# State# d, Int# #) Источник
При наличии массива, смещения в машинных словах и значения для операции OR атомарно выполняет побитовое OR этого значения с элементом. Возвращает значение элемента до выполнения операции. Гарантирует полный барьер памяти.
fetchOrWordAddr# :: Addr# -> Word# -> State# d -> (# State# d, Word# #) Источник
Для заданного адреса и значения для операции ИЛИ атомарно выполняет операцию ИЛИ над значением элемента. Возвращает значение элемента до операции. Подразумевает полный барьер памяти.
fetchSubIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (# State# d, Int# #) Исходный код
Для заданного массива, смещения в машинных словах и значения для вычитания атомарно вычитает это значение из элемента. Возвращает значение элемента до операции. Подразумевает полный барьер памяти.
fetchSubWordAddr# :: Addr# -> Word# -> State# d -> (# State# d, Word# #) Исходный код
Для заданного адреса и значения для вычитания атомарно вычитает это значение из элемента. Возвращает значение элемента до операции. Подразумевает полный барьер памяти.
fetchXorIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (# State# d, Int# #) Исходный код
Для заданного массива, смещения в машинных словах и значения для операции исключающего ИЛИ атомарно выполняет операцию исключающего ИЛИ над значением элемента. Возвращает значение элемента до операции. Подразумевает полный барьер памяти.
fetchXorWordAddr# :: Addr# -> Word# -> State# d -> (# State# d, Word# #) Исходный код
Для заданного адреса и значения для операции исключающего ИЛИ атомарно выполняет операцию исключающего ИЛИ над значением элемента. Возвращает значение элемента до операции. Подразумевает полный барьер памяти.
finalizeWeak# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) b. Weak# a -> State# RealWorld -> (# State# RealWorld, Int#, State# RealWorld -> (# State# RealWorld, b #) #) Исходный код
Выполняет финализацию слабого указателя. Возвращаемое значение представляет собой неупакованный кортеж, содержащий новое состояние мира и «неупакованный Maybe», представленный Int# и (возможно, недопустимым) действием финализации. Значение Int# типа 1 указывает, что финализатор действителен. Возвращаемое финализатором значение b следует игнорировать.
float2Double# :: Float# -> Double# Исходный код
float2Int# :: Float# -> Int# Исходный код
Усекает значение Float# до ближайшего Int#. Результат не определён, если усечение даёт значение за пределами диапазона Int#.
fmaddDouble# :: Double# -> Double# -> Double# -> Double# Исходный код
Операция слитного умножения с последующим сложением x*y+z. См. GHC.Prim.
fmaddFloat# :: Float# -> Float# -> Float# -> Float# Исходный код
Операция слитного умножения с последующим сложением x*y+z. См. GHC.Prim.
fmsubDouble# :: Double# -> Double# -> Double# -> Double# Исходный код
Операция слитного умножения с последующим вычитанием x*y-z. См. GHC.Prim.
fmsubFloat# :: Float# -> Float# -> Float# -> Float# Исходный код
Операция слитного умножения с последующим вычитанием x*y-z. См. GHC.Prim.
fnmaddDouble# :: Double# -> Double# -> Double# -> Double# Исходный код
Операция слитного отрицания, умножения и сложения -x*y+z. См. GHC.Prim.
fnmaddFloat# :: Float# -> Float# -> Float# -> Float# Исходный код
Операция слитного отрицания, умножения и сложения -x*y+z. См. GHC.Prim.
fnmsubDouble# :: Double# -> Double# -> Double# -> Double# Исходный код
Операция слитного отрицания, умножения и вычитания -x*y-z. См. GHC.Prim.
fnmsubFloat# :: Float# -> Float# -> Float# -> Float# Исходный код
Операция слитного отрицания, умножения и вычитания -x*y-z. См. GHC.Prim.
fork# :: (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, ThreadId# #) Исходный код
forkOn# :: Int# -> (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, ThreadId# #) Исходный код
freezeArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutableArray# d a -> Int# -> Int# -> State# d -> (# State# d, Array# a #) Исходный код
Для исходного массива, смещения в исходном массиве и количества элементов для копирования создаёт новый массив с элементами из исходного массива. Указанный массив должен полностью содержать заданный диапазон, однако это не проверяется.
freezeSmallArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> Int# -> Int# -> State# d -> (# State# d, SmallArray# a #) Исходный код
Для исходного массива, смещения в исходном массиве и количества элементов для копирования создаёт новый массив с элементами из исходного массива. Указанный массив должен полностью содержать заданный диапазон, однако это не проверяется.
geAddr# :: Addr# -> Addr# -> Int# Исходный код
geChar# :: Char# -> Char# -> Int# Исходный код
geFloat# :: Float# -> Float# -> Int# Исходный код
geInt16# :: Int16# -> Int16# -> Int# Исходный код
geInt32# :: Int32# -> Int32# -> Int# Исходный код
geInt64# :: Int64# -> Int64# -> Int# Исходный код
geInt8# :: Int8# -> Int8# -> Int# Исходный код
geWord# :: Word# -> Word# -> Int# Исходный код
geWord16# :: Word16# -> Word16# -> Int# Исходный код
geWord32# :: Word32# -> Word32# -> Int# Исходный код
geWord64# :: Word64# -> Word64# -> Int# Исходный код
geWord8# :: Word8# -> Word8# -> Int# Исходный код
getApStackVal# :: a -> Int# -> (# Int#, b #) Исходный код
getCCSOf# :: a -> State# d -> (# State# d, Addr# #) Исходный код
getCurrentCCS# :: a -> State# d -> (# State# d, Addr# #) Исходный код
Возвращает текущий CostCentreStack (значение равно NULL, если профилирование не выполняется). Принимает фиктивный аргумент, который можно использовать, чтобы предотвратить вынос вызова getCurrentCCS# наружу упрощателем: в противном случае получится неинформативный стек (CAF).
getMaskingState# :: State# RealWorld -> (# State# RealWorld, Int# #) Исходный код
getSizeofMutableByteArray# :: MutableByteArray# d -> State# d -> (# State# d, Int# #) Исходный код
Возвращает количество элементов в массиве с учётом влияния shrinkMutableByteArray# и resizeMutableByteArray#.
Начиная с: ghc-internal-0.5.0.0
getSizeofSmallMutableArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> State# d -> (# State# d, Int# #) Исходный код
Возвращает количество элементов в массиве с учётом влияния shrinkSmallMutableArray# и resizeSmallMutableArray#.
Начиная с: ghc-internal-0.6.1
getSpark# :: State# d -> (# State# d, Int#, a #) Исходный код
gtAddr# :: Addr# -> Addr# -> Int# Исходный код
gtChar# :: Char# -> Char# -> Int# Исходный код
gtFloat# :: Float# -> Float# -> Int# Исходный код
gtInt16# :: Int16# -> Int16# -> Int# Исходный код
gtInt32# :: Int32# -> Int32# -> Int# Исходный код
gtInt64# :: Int64# -> Int64# -> Int# Исходный код
gtInt8# :: Int8# -> Int8# -> Int# Исходный код
gtWord# :: Word# -> Word# -> Int# Исходный код
gtWord16# :: Word16# -> Word16# -> Int# Исходный код
gtWord32# :: Word32# -> Word32# -> Int# Исходный код
gtWord64# :: Word64# -> Word64# -> Int# Исходный код
gtWord8# :: Word8# -> Word8# -> Int# Исходный код
indexAddrArray# :: ByteArray# -> Int# -> Addr# Исходный код
Читает машинный адрес из неизменяемого массива; смещение задаётся в машинных словах.
indexAddrOffAddr# :: Addr# -> Int# -> Addr# Исходный код
Читает машинный адрес из неизменяемого адреса; смещение задаётся в машинных словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
indexArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). Array# a -> Int# -> (# a #) Исходный код
Читает элемент по указанному индексу неизменяемого массива. Результат помещается в неупакованный унарный кортеж; сам результат ещё не вычислен. Сопоставление с образцом кортежа заставляет выполнить индексацию массива, но не вычисляет сам элемент. Вычисление thunk предотвращает накопление дополнительных thunk в куче. Это, в свою очередь, уменьшает количество ссылок на массив-аргумент, позволяя сборщику мусора быстрее освободить его.
indexCharArray# :: ByteArray# -> Int# -> Char# Исходный код
Читает 8-битовый символ из неизменяемого массива; смещение задаётся в байтах.
indexCharOffAddr# :: Addr# -> Int# -> Char# Исходный код
Читает 8-битовый символ из неизменяемого адреса; смещение задаётся в байтах.
indexDoubleArray# :: ByteArray# -> Int# -> Double# Исходный код
Читает значение числа с плавающей точкой двойной точности из неизменяемого массива; смещение задаётся в 8-байтовых словах.
indexDoubleArrayAsDoubleX2# :: ByteArray# -> Int# -> DoubleX2# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexDoubleArrayAsDoubleX4# :: ByteArray# -> Int# -> DoubleX4# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexDoubleArrayAsDoubleX8# :: ByteArray# -> Int# -> DoubleX8# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexDoubleOffAddr# :: Addr# -> Int# -> Double# Исходный код
Читает значение числа с плавающей точкой двойной точности по неизменяемому адресу; смещение задаётся в 8-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
indexDoubleOffAddrAsDoubleX2# :: Addr# -> Int# -> DoubleX2# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexDoubleOffAddrAsDoubleX4# :: Addr# -> Int# -> DoubleX4# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexDoubleOffAddrAsDoubleX8# :: Addr# -> Int# -> DoubleX8# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexDoubleX2Array# :: ByteArray# -> Int# -> DoubleX2# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах векторов SIMD (не скалярных элементов).
indexDoubleX2OffAddr# :: Addr# -> Int# -> DoubleX2# Исходный код
Читает вектор; смещение задаётся в единицах векторов SIMD (не скалярных элементов).
indexDoubleX4Array# :: ByteArray# -> Int# -> DoubleX4# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах векторов SIMD (не скалярных элементов).
indexDoubleX4OffAddr# :: Addr# -> Int# -> DoubleX4# Исходный код
Читает вектор; смещение задаётся в единицах векторов SIMD (не скалярных элементов).
indexDoubleX8Array# :: ByteArray# -> Int# -> DoubleX8# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах векторов SIMD (не скалярных элементов).
indexDoubleX8OffAddr# :: Addr# -> Int# -> DoubleX8# Исходный код
Читает вектор; смещение задаётся в единицах векторов SIMD (не скалярных элементов).
indexFloatArray# :: ByteArray# -> Int# -> Float# Исходный код
Читает значение числа с плавающей точкой одинарной точности из неизменяемого массива; смещение задаётся в 4-байтовых словах.
indexFloatArrayAsFloatX16# :: ByteArray# -> Int# -> FloatX16# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexFloatArrayAsFloatX4# :: ByteArray# -> Int# -> FloatX4# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexFloatArrayAsFloatX8# :: ByteArray# -> Int# -> FloatX8# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexFloatOffAddr# :: Addr# -> Int# -> Float# Исходный код
Читает значение числа с плавающей точкой одинарной точности по неизменяемому адресу; смещение задаётся в 4-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
indexFloatOffAddrAsFloatX16# :: Addr# -> Int# -> FloatX16# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexFloatOffAddrAsFloatX4# :: Addr# -> Int# -> FloatX4# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexFloatOffAddrAsFloatX8# :: Addr# -> Int# -> FloatX8# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexFloatX16Array# :: ByteArray# -> Int# -> FloatX16# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах векторов SIMD (не скалярных элементов).
indexFloatX16OffAddr# :: Addr# -> Int# -> FloatX16# Исходный код
Читает вектор; смещение задаётся в единицах векторов SIMD (не скалярных элементов).
indexFloatX4Array# :: ByteArray# -> Int# -> FloatX4# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах векторов SIMD (не скалярных элементов).
indexFloatX4OffAddr# :: Addr# -> Int# -> FloatX4# Исходный код
Читает вектор; смещение задаётся в единицах векторов SIMD (не скалярных элементов).
indexFloatX8Array# :: ByteArray# -> Int# -> FloatX8# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах векторов SIMD (не скалярных элементов).
indexFloatX8OffAddr# :: Addr# -> Int# -> FloatX8# Исходный код
Читает вектор; смещение задаётся в единицах векторов SIMD (не скалярных элементов).
indexInt16Array# :: ByteArray# -> Int# -> Int16# Исходный код
Читает 16-разрядное целое число со знаком из неизменяемого массива; смещение задаётся в 2-байтовых словах.
indexInt16ArrayAsInt16X16# :: ByteArray# -> Int# -> Int16X16# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexInt16ArrayAsInt16X32# :: ByteArray# -> Int# -> Int16X32# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexInt16ArrayAsInt16X8# :: ByteArray# -> Int# -> Int16X8# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexInt16OffAddr# :: Addr# -> Int# -> Int16# Исходный код
Читает 16-разрядное целое число со знаком по неизменяемому адресу; смещение задаётся в 2-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
indexInt16OffAddrAsInt16X16# :: Addr# -> Int# -> Int16X16# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexInt16OffAddrAsInt16X32# :: Addr# -> Int# -> Int16X32# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexInt16OffAddrAsInt16X8# :: Addr# -> Int# -> Int16X8# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexInt16X16Array# :: ByteArray# -> Int# -> Int16X16# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах векторов SIMD (не скалярных элементов).
indexInt16X16OffAddr# :: Addr# -> Int# -> Int16X16# Исходный код
Читает вектор; смещение задаётся в единицах векторов SIMD (не скалярных элементов).
indexInt16X32Array# :: ByteArray# -> Int# -> Int16X32# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах векторов SIMD (не скалярных элементов).
indexInt16X32OffAddr# :: Addr# -> Int# -> Int16X32# Исходный код
Читает вектор; смещение задаётся в единицах векторов SIMD (не скалярных элементов).
indexInt16X8Array# :: ByteArray# -> Int# -> Int16X8# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах векторов SIMD (не скалярных элементов).
indexInt16X8OffAddr# :: Addr# -> Int# -> Int16X8# Исходный код
Читает вектор; смещение задаётся в единицах векторов SIMD (не скалярных элементов).
indexInt32Array# :: ByteArray# -> Int# -> Int32# Исходный код
Читает 32-разрядное целое число со знаком из неизменяемого массива; смещение задаётся в 4-байтовых словах.
indexInt32ArrayAsInt32X16# :: ByteArray# -> Int# -> Int32X16# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexInt32ArrayAsInt32X4# :: ByteArray# -> Int# -> Int32X4# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexInt32ArrayAsInt32X8# :: ByteArray# -> Int# -> Int32X8# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexInt32OffAddr# :: Addr# -> Int# -> Int32# Исходный код
Читает 32-разрядное целое число со знаком по неизменяемому адресу; смещение задаётся в 4-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
indexInt32OffAddrAsInt32X16# :: Addr# -> Int# -> Int32X16# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexInt32OffAddrAsInt32X4# :: Addr# -> Int# -> Int32X4# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexInt32OffAddrAsInt32X8# :: Addr# -> Int# -> Int32X8# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexInt32X16Array# :: ByteArray# -> Int# -> Int32X16# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах векторов SIMD (не скалярных элементов).
indexInt32X16OffAddr# :: Addr# -> Int# -> Int32X16# Исходный код
Читает вектор; смещение задаётся в единицах векторов SIMD (не скалярных элементов).
indexInt32X4Array# :: ByteArray# -> Int# -> Int32X4# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах векторов SIMD (не скалярных элементов).
indexInt32X4OffAddr# :: Addr# -> Int# -> Int32X4# Исходный код
Читает вектор; смещение задаётся в единицах векторов SIMD (не скалярных элементов).
indexInt32X8Array# :: ByteArray# -> Int# -> Int32X8# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах векторов SIMD (не скалярных элементов).
indexInt32X8OffAddr# :: Addr# -> Int# -> Int32X8# Исходный код
Читает вектор; смещение задаётся в единицах векторов SIMD (не скалярных элементов).
indexInt64Array# :: ByteArray# -> Int# -> Int64# Исходный код
Читает 64-разрядное целое число со знаком из неизменяемого массива; смещение задаётся в 8-байтовых словах.
indexInt64ArrayAsInt64X2# :: ByteArray# -> Int# -> Int64X2# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexInt64ArrayAsInt64X4# :: ByteArray# -> Int# -> Int64X4# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexInt64ArrayAsInt64X8# :: ByteArray# -> Int# -> Int64X8# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexInt64OffAddr# :: Addr# -> Int# -> Int64# Исходный код
Читает 64-разрядное целое число со знаком из неизменяемой области памяти; смещение задаётся в 8-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
indexInt64OffAddrAsInt64X2# :: Addr# -> Int# -> Int64X2# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexInt64OffAddrAsInt64X4# :: Addr# -> Int# -> Int64X4# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexInt64OffAddrAsInt64X8# :: Addr# -> Int# -> Int64X8# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexInt64X2Array# :: ByteArray# -> Int# -> Int64X2# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
indexInt64X2OffAddr# :: Addr# -> Int# -> Int64X2# Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
indexInt64X4Array# :: ByteArray# -> Int# -> Int64X4# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
indexInt64X4OffAddr# :: Addr# -> Int# -> Int64X4# Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
indexInt64X8Array# :: ByteArray# -> Int# -> Int64X8# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
indexInt64X8OffAddr# :: Addr# -> Int# -> Int64X8# Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
indexInt8Array# :: ByteArray# -> Int# -> Int8# Исходный код
Читает 8-разрядное целое число со знаком из неизменяемого массива; смещение задаётся в байтах.
indexInt8ArrayAsInt8X16# :: ByteArray# -> Int# -> Int8X16# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexInt8ArrayAsInt8X32# :: ByteArray# -> Int# -> Int8X32# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexInt8ArrayAsInt8X64# :: ByteArray# -> Int# -> Int8X64# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexInt8OffAddr# :: Addr# -> Int# -> Int8# Исходный код
Читает 8-разрядное целое число со знаком из неизменяемой области памяти; смещение задаётся в байтах.
indexInt8OffAddrAsInt8X16# :: Addr# -> Int# -> Int8X16# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexInt8OffAddrAsInt8X32# :: Addr# -> Int# -> Int8X32# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexInt8OffAddrAsInt8X64# :: Addr# -> Int# -> Int8X64# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexInt8X16Array# :: ByteArray# -> Int# -> Int8X16# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
indexInt8X16OffAddr# :: Addr# -> Int# -> Int8X16# Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
indexInt8X32Array# :: ByteArray# -> Int# -> Int8X32# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
indexInt8X32OffAddr# :: Addr# -> Int# -> Int8X32# Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
indexInt8X64Array# :: ByteArray# -> Int# -> Int8X64# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
indexInt8X64OffAddr# :: Addr# -> Int# -> Int8X64# Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
indexIntArray# :: ByteArray# -> Int# -> Int# Исходный код
Читает целое число размером в машинное слово из неизменяемого массива; смещение задаётся в машинных словах.
indexIntOffAddr# :: Addr# -> Int# -> Int# Исходный код
Читает целое число размером в машинное слово из неизменяемой области памяти; смещение задаётся в машинных словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
indexSmallArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). SmallArray# a -> Int# -> (# a #) Исходный код
Читает значение по указанному индексу неизменяемого массива. Результат упакован в распакованный кортеж из одного элемента; само значение ещё не вычислено.
indexStablePtrArray# :: ByteArray# -> Int# -> StablePtr# a Исходный код
Читает значение StablePtr# из неизменяемого массива; смещение задаётся в машинных словах.
indexStablePtrOffAddr# :: Addr# -> Int# -> StablePtr# a Исходный код
Читает значение StablePtr# из неизменяемой области памяти; смещение задаётся в машинных словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
indexWideCharArray# :: ByteArray# -> Int# -> Char# Исходный код
Читает 32-разрядный символ из неизменяемого массива; смещение задаётся в 4-байтовых словах.
indexWideCharOffAddr# :: Addr# -> Int# -> Char# Исходный код
Читает 32-разрядный символ из неизменяемой области памяти; смещение задаётся в 4-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
indexWord16Array# :: ByteArray# -> Int# -> Word16# Исходный код
Читает 16-разрядное целое число без знака из неизменяемого массива; смещение задаётся в 2-байтовых словах.
indexWord16ArrayAsWord16X16# :: ByteArray# -> Int# -> Word16X16# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexWord16ArrayAsWord16X32# :: ByteArray# -> Int# -> Word16X32# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexWord16ArrayAsWord16X8# :: ByteArray# -> Int# -> Word16X8# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexWord16OffAddr# :: Addr# -> Int# -> Word16# Исходный код
Читает 16-разрядное целое число без знака из неизменяемой области памяти; смещение задаётся в 2-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
indexWord16OffAddrAsWord16X16# :: Addr# -> Int# -> Word16X16# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexWord16OffAddrAsWord16X32# :: Addr# -> Int# -> Word16X32# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexWord16OffAddrAsWord16X8# :: Addr# -> Int# -> Word16X8# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexWord16X16Array# :: ByteArray# -> Int# -> Word16X16# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord16X16OffAddr# :: Addr# -> Int# -> Word16X16# Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord16X32Array# :: ByteArray# -> Int# -> Word16X32# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord16X32OffAddr# :: Addr# -> Int# -> Word16X32# Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord16X8Array# :: ByteArray# -> Int# -> Word16X8# Исходный код
Читает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord16X8OffAddr# :: Addr# -> Int# -> Word16X8# Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord32Array# :: ByteArray# -> Int# -> Word32# Исходный код
Читает 32-разрядное целое число без знака из неизменяемого массива; смещение задаётся в 4-байтовых словах.
indexWord32ArrayAsWord32X16# :: ByteArray# -> Int# -> Word32X16# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexWord32ArrayAsWord32X4# :: ByteArray# -> Int# -> Word32X4# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexWord32ArrayAsWord32X8# :: ByteArray# -> Int# -> Word32X8# Исходный код
Читает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexWord32OffAddr# :: Addr# -> Int# -> Word32# Исходный код
Читает 32-разрядное целое число без знака из неизменяемой области памяти; смещение задаётся в 4-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
indexWord32OffAddrAsWord32X16# :: Addr# -> Int# -> Word32X16# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexWord32OffAddrAsWord32X4# :: Addr# -> Int# -> Word32X4# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexWord32OffAddrAsWord32X8# :: Addr# -> Int# -> Word32X8# Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
indexWord32X16Array# :: ByteArray# -> Int# -> Word32X16# Источник
Считывает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord32X16OffAddr# :: Addr# -> Int# -> Word32X16# Источник
Считывает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord32X4Array# :: ByteArray# -> Int# -> Word32X4# Источник
Считывает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord32X4OffAddr# :: Addr# -> Int# -> Word32X4# Источник
Считывает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord32X8Array# :: ByteArray# -> Int# -> Word32X8# Источник
Считывает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord32X8OffAddr# :: Addr# -> Int# -> Word32X8# Источник
Считывает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord64Array# :: ByteArray# -> Int# -> Word64# Источник
Считывает 64-разрядное беззнаковое целое число из неизменяемого массива; смещение задаётся в 8-байтовых словах.
indexWord64ArrayAsWord64X2# :: ByteArray# -> Int# -> Word64X2# Источник
Считывает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexWord64ArrayAsWord64X4# :: ByteArray# -> Int# -> Word64X4# Источник
Считывает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexWord64ArrayAsWord64X8# :: ByteArray# -> Int# -> Word64X8# Источник
Считывает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexWord64OffAddr# :: Addr# -> Int# -> Word64# Источник
Считывает 64-разрядное беззнаковое целое число по неизменяемому адресу; смещение задаётся в 8-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
indexWord64OffAddrAsWord64X2# :: Addr# -> Int# -> Word64X2# Источник
Считывает вектор; смещение задаётся в скалярных элементах.
indexWord64OffAddrAsWord64X4# :: Addr# -> Int# -> Word64X4# Источник
Считывает вектор; смещение задаётся в скалярных элементах.
indexWord64OffAddrAsWord64X8# :: Addr# -> Int# -> Word64X8# Источник
Считывает вектор; смещение задаётся в скалярных элементах.
indexWord64X2Array# :: ByteArray# -> Int# -> Word64X2# Источник
Считывает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord64X2OffAddr# :: Addr# -> Int# -> Word64X2# Источник
Считывает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord64X4Array# :: ByteArray# -> Int# -> Word64X4# Источник
Считывает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord64X4OffAddr# :: Addr# -> Int# -> Word64X4# Источник
Считывает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord64X8Array# :: ByteArray# -> Int# -> Word64X8# Источник
Считывает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord64X8OffAddr# :: Addr# -> Int# -> Word64X8# Источник
Считывает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord8Array# :: ByteArray# -> Int# -> Word8# Источник
Считывает 8-разрядное беззнаковое целое число из неизменяемого массива; смещение задаётся в байтах.
indexWord8ArrayAsAddr# :: ByteArray# -> Int# -> Addr# Источник
Считывает машинный адрес из неизменяемого массива; смещение задаётся в байтах.
indexWord8ArrayAsChar# :: ByteArray# -> Int# -> Char# Источник
Считывает 8-разрядный символ из неизменяемого массива; смещение задаётся в байтах.
indexWord8ArrayAsDouble# :: ByteArray# -> Int# -> Double# Источник
Считывает число с плавающей точкой двойной точности из неизменяемого массива; смещение задаётся в байтах.
indexWord8ArrayAsFloat# :: ByteArray# -> Int# -> Float# Источник
Считывает число с плавающей точкой одинарной точности из неизменяемого массива; смещение задаётся в байтах.
indexWord8ArrayAsInt# :: ByteArray# -> Int# -> Int# Источник
Считывает целое число машинного размера из неизменяемого массива; смещение задаётся в байтах.
indexWord8ArrayAsInt16# :: ByteArray# -> Int# -> Int16# Источник
Считывает 16-разрядное знаковое целое число из неизменяемого массива; смещение задаётся в байтах.
indexWord8ArrayAsInt32# :: ByteArray# -> Int# -> Int32# Источник
Считывает 32-разрядное знаковое целое число из неизменяемого массива; смещение задаётся в байтах.
indexWord8ArrayAsInt64# :: ByteArray# -> Int# -> Int64# Источник
Считывает 64-разрядное знаковое целое число из неизменяемого массива; смещение задаётся в байтах.
indexWord8ArrayAsStablePtr# :: ByteArray# -> Int# -> StablePtr# a Источник
Считывает значение StablePtr# из неизменяемого массива; смещение задаётся в байтах.
indexWord8ArrayAsWideChar# :: ByteArray# -> Int# -> Char# Источник
Считывает 32-разрядный символ из неизменяемого массива; смещение задаётся в байтах.
indexWord8ArrayAsWord# :: ByteArray# -> Int# -> Word# Источник
Считывает беззнаковое целое число машинного размера из неизменяемого массива; смещение задаётся в байтах.
indexWord8ArrayAsWord16# :: ByteArray# -> Int# -> Word16# Источник
Считывает 16-разрядное беззнаковое целое число из неизменяемого массива; смещение задаётся в байтах.
indexWord8ArrayAsWord32# :: ByteArray# -> Int# -> Word32# Источник
Считывает 32-разрядное беззнаковое целое число из неизменяемого массива; смещение задаётся в байтах.
indexWord8ArrayAsWord64# :: ByteArray# -> Int# -> Word64# Источник
Считывает 64-разрядное беззнаковое целое число из неизменяемого массива; смещение задаётся в байтах.
indexWord8ArrayAsWord8X16# :: ByteArray# -> Int# -> Word8X16# Источник
Считывает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexWord8ArrayAsWord8X32# :: ByteArray# -> Int# -> Word8X32# Источник
Считывает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexWord8ArrayAsWord8X64# :: ByteArray# -> Int# -> Word8X64# Источник
Считывает вектор по указанному индексу неизменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
indexWord8OffAddr# :: Addr# -> Int# -> Word8# Источник
Считывает 8-разрядное беззнаковое целое число по неизменяемому адресу; смещение задаётся в байтах.
indexWord8OffAddrAsAddr# :: Addr# -> Int# -> Addr# Источник
Считывает машинный адрес по неизменяемому адресу; смещение задаётся в байтах.
indexWord8OffAddrAsChar# :: Addr# -> Int# -> Char# Источник
Считывает 8-разрядный символ по неизменяемому адресу; смещение задаётся в байтах.
indexWord8OffAddrAsDouble# :: Addr# -> Int# -> Double# Источник
Считывает число с плавающей точкой двойной точности по неизменяемому адресу; смещение задаётся в байтах.
indexWord8OffAddrAsFloat# :: Addr# -> Int# -> Float# Источник
Считывает число с плавающей точкой одинарной точности по неизменяемому адресу; смещение задаётся в байтах.
indexWord8OffAddrAsInt# :: Addr# -> Int# -> Int# Источник
Считывает целое число машинного размера по неизменяемому адресу; смещение задаётся в байтах.
indexWord8OffAddrAsInt16# :: Addr# -> Int# -> Int16# Источник
Считывает 16-разрядное знаковое целое число по неизменяемому адресу; смещение задаётся в байтах.
indexWord8OffAddrAsInt32# :: Addr# -> Int# -> Int32# Источник
Считывает 32-разрядное знаковое целое число по неизменяемому адресу; смещение задаётся в байтах.
indexWord8OffAddrAsInt64# :: Addr# -> Int# -> Int64# Источник
Считывает 64-разрядное знаковое целое число по неизменяемому адресу; смещение задаётся в байтах.
indexWord8OffAddrAsStablePtr# :: Addr# -> Int# -> StablePtr# a Источник
Считывает значение StablePtr# по неизменяемому адресу; смещение задаётся в байтах.
indexWord8OffAddrAsWideChar# :: Addr# -> Int# -> Char# Источник
Считывает 32-разрядный символ по неизменяемому адресу; смещение задаётся в байтах.
indexWord8OffAddrAsWord# :: Addr# -> Int# -> Word# Источник
Считывает беззнаковое целое число машинного размера по неизменяемому адресу; смещение задаётся в байтах.
indexWord8OffAddrAsWord16# :: Addr# -> Int# -> Word16# Источник
Считывает 16-разрядное беззнаковое целое число по неизменяемому адресу; смещение задаётся в байтах.
indexWord8OffAddrAsWord32# :: Addr# -> Int# -> Word32# Источник
Считывает 32-разрядное беззнаковое целое число по неизменяемому адресу; смещение задаётся в байтах.
indexWord8OffAddrAsWord64# :: Addr# -> Int# -> Word64# Источник
Считывает 64-разрядное беззнаковое целое число по неизменяемому адресу; смещение задаётся в байтах.
indexWord8OffAddrAsWord8X16# :: Addr# -> Int# -> Word8X16# Источник
Считывает вектор; смещение задаётся в скалярных элементах.
indexWord8OffAddrAsWord8X32# :: Addr# -> Int# -> Word8X32# Источник
Считывает вектор; смещение задаётся в скалярных элементах.
indexWord8OffAddrAsWord8X64# :: Addr# -> Int# -> Word8X64# Источник
Считывает вектор; смещение задаётся в скалярных элементах.
indexWord8X16Array# :: ByteArray# -> Int# -> Word8X16# Источник
Считывает вектор по указанному индексу неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord8X16OffAddr# :: Addr# -> Int# -> Word8X16# Источник
Считывает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
indexWord8X32Array# :: ByteArray# -> Int# -> Word8X32# Исходный код
Считывает вектор по указанному индексу из неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
indexWord8X32OffAddr# :: Addr# -> Int# -> Word8X32# Исходный код
Считывает вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
indexWord8X64Array# :: ByteArray# -> Int# -> Word8X64# Исходный код
Считывает вектор по указанному индексу из неизменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
indexWord8X64OffAddr# :: Addr# -> Int# -> Word8X64# Исходный код
Считывает вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
indexWordArray# :: ByteArray# -> Int# -> Word# Исходный код
Считывает беззнаковое целое размером со слово из неизменяемого массива; смещение задаётся в машинных словах.
indexWordOffAddr# :: Addr# -> Int# -> Word# Исходный код
Считывает беззнаковое целое размером со слово по неизменяемому адресу; смещение задаётся в машинных словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
insertDoubleX2# :: DoubleX2# -> Double# -> Int# -> DoubleX2# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertDoubleX4# :: DoubleX4# -> Double# -> Int# -> DoubleX4# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertDoubleX8# :: DoubleX8# -> Double# -> Int# -> DoubleX8# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertFloatX16# :: FloatX16# -> Float# -> Int# -> FloatX16# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertFloatX4# :: FloatX4# -> Float# -> Int# -> FloatX4# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertFloatX8# :: FloatX8# -> Float# -> Int# -> FloatX8# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertInt16X16# :: Int16X16# -> Int16# -> Int# -> Int16X16# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertInt16X32# :: Int16X32# -> Int16# -> Int# -> Int16X32# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertInt16X8# :: Int16X8# -> Int16# -> Int# -> Int16X8# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertInt32X16# :: Int32X16# -> Int32# -> Int# -> Int32X16# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertInt32X4# :: Int32X4# -> Int32# -> Int# -> Int32X4# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertInt32X8# :: Int32X8# -> Int32# -> Int# -> Int32X8# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertInt64X2# :: Int64X2# -> Int64# -> Int# -> Int64X2# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertInt64X4# :: Int64X4# -> Int64# -> Int# -> Int64X4# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertInt64X8# :: Int64X8# -> Int64# -> Int# -> Int64X8# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertInt8X16# :: Int8X16# -> Int8# -> Int# -> Int8X16# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertInt8X32# :: Int8X32# -> Int8# -> Int# -> Int8X32# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertInt8X64# :: Int8X64# -> Int8# -> Int# -> Int8X64# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertWord16X16# :: Word16X16# -> Word16# -> Int# -> Word16X16# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertWord16X32# :: Word16X32# -> Word16# -> Int# -> Word16X32# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertWord16X8# :: Word16X8# -> Word16# -> Int# -> Word16X8# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertWord32X16# :: Word32X16# -> Word32# -> Int# -> Word32X16# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertWord32X4# :: Word32X4# -> Word32# -> Int# -> Word32X4# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertWord32X8# :: Word32X8# -> Word32# -> Int# -> Word32X8# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertWord64X2# :: Word64X2# -> Word64# -> Int# -> Word64X2# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertWord64X4# :: Word64X4# -> Word64# -> Int# -> Word64X4# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertWord64X8# :: Word64X8# -> Word64# -> Int# -> Word64X8# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertWord8X16# :: Word8X16# -> Word8# -> Int# -> Word8X16# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertWord8X32# :: Word8X32# -> Word8# -> Int# -> Word8X32# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
insertWord8X64# :: Word8X64# -> Word8# -> Int# -> Word8X64# Исходный код
Вставляет скаляр в вектор в указанную позицию. Позиция должна быть константой времени компиляции.
int16ToInt# :: Int16# -> Int# Исходный код
int16ToWord16# :: Int16# -> Word16# Исходный код
int2Addr# :: Int# -> Addr# Исходный код
Непосредственно преобразует целое число в адрес. Не рекомендуется использовать эту операцию, поскольку она мало осмысленна на платформах с тегированными указателями.
int2Double# :: Int# -> Double# Исходный код
Преобразует Int# в соответствующее Double# с тем же целочисленным значением (с точностью до усечения из-за точности чисел с плавающей точкой), например, int2Double# 1# == 1.0##
int2Float# :: Int# -> Float# Исходный код
Преобразует Int# в соответствующее Float# с тем же целочисленным значением (с точностью до усечения из-за точности чисел с плавающей точкой), например, int2Float# 1# == 1.0#
int2Word# :: Int# -> Word# Исходный код
int32ToInt# :: Int32# -> Int# Исходный код
int32ToWord32# :: Int32# -> Word32# Исходный код
int64ToInt# :: Int64# -> Int# Исходный код
int64ToWord64# :: Int64# -> Word64# Исходный код
int8ToInt# :: Int8# -> Int# Исходный код
int8ToWord8# :: Int8# -> Word8# Исходный код
intToInt16# :: Int# -> Int16# Исходный код
intToInt32# :: Int# -> Int32# Исходный код
intToInt64# :: Int# -> Int64# Исходный код
intToInt8# :: Int# -> Int8# Исходный код
isByteArrayPinned# :: ByteArray# -> Int# Исходный код
Определяет, гарантированно ли ByteArray# не перемещается.
isCurrentThreadBound# :: State# RealWorld -> (# State# RealWorld, Int# #) Исходный код
isEmptyMVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MVar# d a -> State# d -> (# State# d, Int# #) Исходный код
Возвращает 1, если MVar# пуст; в противном случае — 0.
isMutableByteArrayPinned# :: MutableByteArray# d -> Int# Исходный код
Определяет, гарантированно ли MutableByteArray# не перемещается во время сборки мусора.
keepAlive# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d b. a -> State# d -> (State# d -> b) -> b Исходный код
keepAlive# x s k сохраняет значение x живым на протяжении выполнения вычисления k.
Обратите внимание, что тип результата здесь не настолько неограничен, как может показаться по полиморфному типу; подробности см. в разделе «Полиморфизм RuntimeRep в примитивах с продолжением».
killThread# :: ThreadId# -> a -> State# RealWorld -> State# RealWorld Исходный код
labelThread# :: ThreadId# -> ByteArray# -> State# RealWorld -> State# RealWorld Источник
Установить метку указанного потока. ByteArray# должна содержать строку в кодировке UTF-8.
leAddr# :: Addr# -> Addr# -> Int# Источник
leChar# :: Char# -> Char# -> Int# Источник
leFloat# :: Float# -> Float# -> Int# Источник
leInt16# :: Int16# -> Int16# -> Int# Источник
leInt32# :: Int32# -> Int32# -> Int# Источник
leInt64# :: Int64# -> Int64# -> Int# Источник
leInt8# :: Int8# -> Int8# -> Int# Источник
leWord# :: Word# -> Word# -> Int# Источник
leWord16# :: Word16# -> Word16# -> Int# Источник
leWord32# :: Word32# -> Word32# -> Int# Источник
leWord64# :: Word64# -> Word64# -> Int# Источник
leWord8# :: Word8# -> Word8# -> Int# Источник
leftSection :: forall {n :: Multiplicity} a b. (a %n -> b) -> a %n -> b Источник
listThreads# :: State# RealWorld -> (# State# RealWorld, Array# ThreadId# #) Источник
Возвращает массив потоков, запущенных программой. Обратите внимание: потоки, выполнение которых завершилось, могут присутствовать или отсутствовать в этом списке в зависимости от того, были ли они собраны сборщиком мусора.
Начиная с: ghc-internal-0.10
log1pDouble# :: Double# -> Double# Источник
log1pFloat# :: Float# -> Float# Источник
logDouble# :: Double# -> Double# Источник
logFloat# :: Float# -> Float# Источник
ltAddr# :: Addr# -> Addr# -> Int# Источник
ltChar# :: Char# -> Char# -> Int# Источник
ltFloat# :: Float# -> Float# -> Int# Источник
ltInt16# :: Int16# -> Int16# -> Int# Источник
ltInt32# :: Int32# -> Int32# -> Int# Источник
ltInt64# :: Int64# -> Int64# -> Int# Источник
ltInt8# :: Int8# -> Int8# -> Int# Источник
ltWord# :: Word# -> Word# -> Int# Источник
ltWord16# :: Word16# -> Word16# -> Int# Источник
ltWord32# :: Word32# -> Word32# -> Int# Источник
ltWord64# :: Word64# -> Word64# -> Int# Источник
ltWord8# :: Word8# -> Word8# -> Int# Источник
makeStableName# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). a -> State# RealWorld -> (# State# RealWorld, StableName# a #) Источник
makeStablePtr# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). a -> State# RealWorld -> (# State# RealWorld, StablePtr# a #) Источник
maskAsyncExceptions# :: (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #) Источник
maskAsyncExceptions# k s вычисляет k s, откладывая асинхронные исключения до завершения вычисления.
Обратите внимание, что тип результата здесь не настолько неограничен, как может показаться по полиморфному типу; подробности см. в разделе «Полиморфизм RuntimeRep в примитивах с continuation-стилем».
maskUninterruptible# :: (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #) Источник
maskUninterruptible# k s вычисляет k s, откладывая асинхронные исключения до завершения вычисления.
Обратите внимание, что тип результата здесь не настолько неограничен, как может показаться по полиморфному типу; подробности см. в разделе «Полиморфизм RuntimeRep в примитивах с continuation-стилем».
minusAddr# :: Addr# -> Addr# -> Int# Источник
Результат не имеет смысла, если два Addr# расположены настолько далеко друг от друга, что их разность не помещается в Int#.
minusDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2# Источник
Вычитает два вектора поэлементно.
minusDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4# Источник
Вычитает два вектора поэлементно.
minusDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8# Источник
Вычитает два вектора поэлементно.
minusFloat# :: Float# -> Float# -> Float# Источник
minusFloatX16# :: FloatX16# -> FloatX16# -> FloatX16# Источник
Вычитает два вектора поэлементно.
minusFloatX4# :: FloatX4# -> FloatX4# -> FloatX4# Источник
Вычитает два вектора поэлементно.
minusFloatX8# :: FloatX8# -> FloatX8# -> FloatX8# Источник
Вычитает два вектора поэлементно.
minusInt16X16# :: Int16X16# -> Int16X16# -> Int16X16# Источник
Вычитает два вектора поэлементно.
minusInt16X32# :: Int16X32# -> Int16X32# -> Int16X32# Источник
Вычитает два вектора поэлементно.
minusInt16X8# :: Int16X8# -> Int16X8# -> Int16X8# Источник
Вычитает два вектора поэлементно.
minusInt32X16# :: Int32X16# -> Int32X16# -> Int32X16# Источник
Вычитает два вектора поэлементно.
minusInt32X4# :: Int32X4# -> Int32X4# -> Int32X4# Источник
Вычитает два вектора поэлементно.
minusInt32X8# :: Int32X8# -> Int32X8# -> Int32X8# Источник
Вычитает два вектора поэлементно.
minusInt64X2# :: Int64X2# -> Int64X2# -> Int64X2# Источник
Вычитает два вектора поэлементно.
minusInt64X4# :: Int64X4# -> Int64X4# -> Int64X4# Источник
Вычитает два вектора поэлементно.
minusInt64X8# :: Int64X8# -> Int64X8# -> Int64X8# Источник
Вычитает два вектора поэлементно.
minusInt8X16# :: Int8X16# -> Int8X16# -> Int8X16# Источник
Вычитает два вектора поэлементно.
minusInt8X32# :: Int8X32# -> Int8X32# -> Int8X32# Источник
Вычитает два вектора поэлементно.
minusInt8X64# :: Int8X64# -> Int8X64# -> Int8X64# Источник
Вычитает два вектора поэлементно.
minusWord# :: Word# -> Word# -> Word# Источник
minusWord16X16# :: Word16X16# -> Word16X16# -> Word16X16# Источник
Вычитает два вектора поэлементно.
minusWord16X32# :: Word16X32# -> Word16X32# -> Word16X32# Источник
Вычитает два вектора поэлементно.
minusWord16X8# :: Word16X8# -> Word16X8# -> Word16X8# Источник
Вычитает два вектора поэлементно.
minusWord32X16# :: Word32X16# -> Word32X16# -> Word32X16# Источник
Вычитает два вектора поэлементно.
minusWord32X4# :: Word32X4# -> Word32X4# -> Word32X4# Источник
Вычитает два вектора поэлементно.
minusWord32X8# :: Word32X8# -> Word32X8# -> Word32X8# Источник
Вычитает два вектора поэлементно.
minusWord64X2# :: Word64X2# -> Word64X2# -> Word64X2# Источник
Вычитает два вектора поэлементно.
minusWord64X4# :: Word64X4# -> Word64X4# -> Word64X4# Источник
Вычитает два вектора поэлементно.
minusWord64X8# :: Word64X8# -> Word64X8# -> Word64X8# Источник
Вычитает два вектора поэлементно.
minusWord8X16# :: Word8X16# -> Word8X16# -> Word8X16# Исходный код
Вычитает два вектора поэлементно.
minusWord8X32# :: Word8X32# -> Word8X32# -> Word8X32# Исходный код
Вычитает два вектора поэлементно.
minusWord8X64# :: Word8X64# -> Word8X64# -> Word8X64# Исходный код
Вычитает два вектора поэлементно.
mkApUpd0# :: BCO -> (# a #) Исходный код
Оборачивает BCO в thunk AP_UPD, который будет обновлён значением BCO при вычислении.
mkWeak# :: forall {l :: Levity} {k :: Levity} (a :: TYPE ('BoxedRep l)) (b :: TYPE ('BoxedRep k)) c. a -> b -> (State# RealWorld -> (# State# RealWorld, c #)) -> State# RealWorld -> (# State# RealWorld, Weak# b #) Исходный код
mkWeak# k v finalizer s создаёт слабую ссылку на значение k, связанную со ссылкой на некоторое значение v. Если k всё ещё существует, то v можно получить с помощью deRefWeak#. Обратите внимание, что тип k должен быть представлен указателем (то есть иметь вид TYPE 'LiftedRep or TYPE 'UnliftedRep@).
mkWeakNoFinalizer# :: forall {l :: Levity} {k :: Levity} (a :: TYPE ('BoxedRep l)) (b :: TYPE ('BoxedRep k)). a -> b -> State# RealWorld -> (# State# RealWorld, Weak# b #) Исходный код
mulIntMayOflo# :: Int# -> Int# -> Int# Исходный код
Возвращает ненулевое значение, если существует вероятность того, что старшее слово произведения знаковых целых чисел может содержать полезную информацию. Возвращает ноль только в том случае, если вы полностью уверены, что переполнение невозможно. На 32-разрядной платформе рекомендуется выполнять знаковое умножение 32 × 32 → 64 и вычитать result[63:32] из (result[31] >>signed 31). Если результат равен нулю, то есть старшее слово является лишь знаковым расширением младшего, переполнение невозможно.
На 64-разрядной платформе получить старшие 64 бита результата удаётся не всегда. Поэтому рекомендуется взять абсолютные значения обоих операндов и возвращать 0 тогда и только тогда, когда их биты [63:31] равны нулю: это означает, что их модули не превышают 31 бит, а значит, модуль произведения должен укладываться в 62 бита.
Если вы сомневаетесь, возвращайте ненулевое значение, но постарайтесь правильно обрабатывать небольшие аргументы, иначе производительность (*) :: Integer -> Integer -> Integer будет низкой.
mutableByteArrayContents# :: MutableByteArray# d -> Addr# Исходный код
Предназначено для использования с закреплёнными массивами; в противном случае крайне небезопасно!
myThreadId# :: State# RealWorld -> (# State# RealWorld, ThreadId# #) Исходный код
narrow16Int# :: Int# -> Int# Исходный код
narrow16Word# :: Word# -> Word# Исходный код
narrow32Int# :: Int# -> Int# Исходный код
narrow32Word# :: Word# -> Word# Исходный код
narrow8Int# :: Int# -> Int# Исходный код
narrow8Word# :: Word# -> Word# Исходный код
neAddr# :: Addr# -> Addr# -> Int# Исходный код
neChar# :: Char# -> Char# -> Int# Исходный код
neFloat# :: Float# -> Float# -> Int# Исходный код
neInt16# :: Int16# -> Int16# -> Int# Исходный код
neInt32# :: Int32# -> Int32# -> Int# Исходный код
neInt64# :: Int64# -> Int64# -> Int# Исходный код
neInt8# :: Int8# -> Int8# -> Int# Исходный код
neWord# :: Word# -> Word# -> Int# Исходный код
neWord16# :: Word16# -> Word16# -> Int# Исходный код
neWord32# :: Word32# -> Word32# -> Int# Исходный код
neWord64# :: Word64# -> Word64# -> Int# Исходный код
neWord8# :: Word8# -> Word8# -> Int# Исходный код
negateDouble# :: Double# -> Double# Исходный код
negateDoubleX2# :: DoubleX2# -> DoubleX2# Исходный код
Поэлементно меняет знак.
negateDoubleX4# :: DoubleX4# -> DoubleX4# Исходный код
Поэлементно меняет знак.
negateDoubleX8# :: DoubleX8# -> DoubleX8# Исходный код
Поэлементно меняет знак.
negateFloat# :: Float# -> Float# Исходный код
negateFloatX16# :: FloatX16# -> FloatX16# Исходный код
Поэлементно меняет знак.
negateFloatX4# :: FloatX4# -> FloatX4# Исходный код
Поэлементно меняет знак.
negateFloatX8# :: FloatX8# -> FloatX8# Исходный код
Поэлементно меняет знак.
negateInt# :: Int# -> Int# Исходный код
Унарное отрицание. Поскольку диапазон отрицательных значений Int# на единицу шире положительного, negateInt# самого отрицательного числа является тождественной операцией. Таким образом, negateInt# всегда является обратной самой себе.
negateInt16# :: Int16# -> Int16# Исходный код
negateInt16X16# :: Int16X16# -> Int16X16# Исходный код
Поэлементно меняет знак.
negateInt16X32# :: Int16X32# -> Int16X32# Исходный код
Поэлементно меняет знак.
negateInt16X8# :: Int16X8# -> Int16X8# Исходный код
Поэлементно меняет знак.
negateInt32# :: Int32# -> Int32# Исходный код
negateInt32X16# :: Int32X16# -> Int32X16# Исходный код
Поэлементно меняет знак.
negateInt32X4# :: Int32X4# -> Int32X4# Исходный код
Поэлементно меняет знак.
negateInt32X8# :: Int32X8# -> Int32X8# Исходный код
Поэлементно меняет знак.
negateInt64# :: Int64# -> Int64# Исходный код
negateInt64X2# :: Int64X2# -> Int64X2# Исходный код
Поэлементно меняет знак.
negateInt64X4# :: Int64X4# -> Int64X4# Исходный код
Поэлементно меняет знак.
negateInt64X8# :: Int64X8# -> Int64X8# Исходный код
Поэлементно меняет знак.
negateInt8# :: Int8# -> Int8# Исходный код
negateInt8X16# :: Int8X16# -> Int8X16# Исходный код
Поэлементно меняет знак.
negateInt8X32# :: Int8X32# -> Int8X32# Исходный код
Поэлементно меняет знак.
negateInt8X64# :: Int8X64# -> Int8X64# Исходный код
Поэлементно меняет знак.
newAlignedPinnedByteArray# :: Int# -> Int# -> State# d -> (# State# d, MutableByteArray# d #) Исходный код
Подобно newPinnedByteArray#, но позволяет задавать произвольное выравнивание, которое должно быть степенью двойки.
newArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. Int# -> a -> State# d -> (# State# d, MutableArray# d a #) Исходный код
Создаёт новый изменяемый массив с указанным числом элементов в указанном потоке состояния; каждый элемент содержит указанное начальное значение.
newBCO# :: ByteArray# -> ByteArray# -> Array# a -> Int# -> ByteArray# -> State# d -> (# State# d, BCO #) Исходный код
newBCO# instrs lits ptrs arity bitmap создаёт новый объект байт-кода. Полученный объект кодирует функцию заданной арности с инструкциями, закодированными в instrs, и битовой картой использования таблицы статических ссылок, заданной bitmap.
newByteArray# :: Int# -> State# d -> (# State# d, MutableByteArray# d #) Исходный код
Создаёт новый изменяемый байтовый массив указанного размера (в байтах) в указанном потоке состояния. Объём памяти, выделяемой под массив, будет округлён вверх до размера машинного слова платформы.
newMVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). State# d -> (# State# d, MVar# d a #) Исходный код
Создаёт новый MVar#; изначально пустой.
newMutVar# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. a -> State# d -> (# State# d, MutVar# d a #) Исходный код
Создаёт MutVar# с указанным начальным значением в указанном потоке состояния.
newPinnedByteArray# :: Int# -> State# d -> (# State# d, MutableByteArray# d #) Исходный код
Подобно newByteArray#, но сборщик мусора гарантирует, что массив не будет перемещён.
newPromptTag# :: State# RealWorld -> (# State# RealWorld, PromptTag# a #) Исходный код
См. GHC.Prim.
newSmallArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. Int# -> a -> State# d -> (# State# d, SmallMutableArray# d a #) Исходный код
Создаёт новый изменяемый массив с указанным числом элементов в указанном потоке состояния; каждый элемент содержит указанное начальное значение.
newTVar# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. a -> State# d -> (# State# d, TVar# d a #) Исходный код
Создаёт новый TVar# с указанным начальным значением.
noDuplicate# :: State# d -> State# d Источник
not# :: Word# -> Word# Источник
not64# :: Word64# -> Word64# Источник
notI# :: Int# -> Int# Источник
Побитовое «не», также известное как двоичное дополнение.
notWord16# :: Word16# -> Word16# Источник
notWord32# :: Word32# -> Word32# Источник
notWord8# :: Word8# -> Word8# Источник
Нулевой адрес.
numSparks# :: State# d -> (# State# d, Int# #) Источник
Возвращает количество искр в локальном пуле искр.
or# :: Word# -> Word# -> Word# Источник
or64# :: Word64# -> Word64# -> Word64# Источник
orI# :: Int# -> Int# -> Int# Источник
Побитовое «или».
orWord16# :: Word16# -> Word16# -> Word16# Источник
orWord32# :: Word32# -> Word32# -> Word32# Источник
orWord8# :: Word8# -> Word8# -> Word8# Источник
ord# :: Char# -> Int# Источник
packDoubleX2# :: (# Double#, Double# #) -> DoubleX2# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packDoubleX4# :: (# Double#, Double#, Double#, Double# #) -> DoubleX4# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packDoubleX8# :: (# Double#, Double#, Double#, Double#, Double#, Double#, Double#, Double# #) -> DoubleX8# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packFloatX16# :: (# Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float# #) -> FloatX16# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packFloatX4# :: (# Float#, Float#, Float#, Float# #) -> FloatX4# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packFloatX8# :: (# Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float# #) -> FloatX8# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packInt16X16# :: (# Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16# #) -> Int16X16# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packInt16X32# :: (# Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16# #) -> Int16X32# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packInt16X8# :: (# Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16# #) -> Int16X8# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packInt32X16# :: (# Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32# #) -> Int32X16# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packInt32X4# :: (# Int32#, Int32#, Int32#, Int32# #) -> Int32X4# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packInt32X8# :: (# Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32# #) -> Int32X8# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packInt64X2# :: (# Int64#, Int64# #) -> Int64X2# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packInt64X4# :: (# Int64#, Int64#, Int64#, Int64# #) -> Int64X4# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packInt64X8# :: (# Int64#, Int64#, Int64#, Int64#, Int64#, Int64#, Int64#, Int64# #) -> Int64X8# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packInt8X16# :: (# Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8# #) -> Int8X16# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packInt8X32# :: (# Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8# #) -> Int8X32# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packInt8X64# :: (# Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8# #) -> Int8X64# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packWord16X16# :: (# Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16# #) -> Word16X16# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packWord16X32# :: (# Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16# #) -> Word16X32# Источник
Упаковывает элементы неупакованного кортежа в вектор.
packWord16X8# :: (# Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16# #) -> Word16X8# Источник
Упаковывает элементы распакованного кортежа в вектор.
packWord32X16# :: (# Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32# #) -> Word32X16# Источник
Упаковывает элементы распакованного кортежа в вектор.
packWord32X4# :: (# Word32#, Word32#, Word32#, Word32# #) -> Word32X4# Источник
Упаковывает элементы распакованного кортежа в вектор.
packWord32X8# :: (# Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32# #) -> Word32X8# Источник
Упаковывает элементы распакованного кортежа в вектор.
packWord64X2# :: (# Word64#, Word64# #) -> Word64X2# Источник
Упаковывает элементы распакованного кортежа в вектор.
packWord64X4# :: (# Word64#, Word64#, Word64#, Word64# #) -> Word64X4# Источник
Упаковывает элементы распакованного кортежа в вектор.
packWord64X8# :: (# Word64#, Word64#, Word64#, Word64#, Word64#, Word64#, Word64#, Word64# #) -> Word64X8# Источник
Упаковывает элементы распакованного кортежа в вектор.
packWord8X16# :: (# Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8# #) -> Word8X16# Источник
Упаковывает элементы распакованного кортежа в вектор.
packWord8X32# :: (# Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8# #) -> Word8X32# Источник
Упаковывает элементы распакованного кортежа в вектор.
packWord8X64# :: (# Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8# #) -> Word8X64# Источник
Упаковывает элементы распакованного кортежа в вектор.
Создаёт новый spark, вычисляющий переданный аргумент. Возвращаемое значение всегда должно быть равно 1. Рекомендуется вместо этого использовать spark#.
pdep# :: Word# -> Word# -> Word# Источник
Размещает биты в слове в позициях, заданных маской; эта операция также называется параллельным размещением битов.
Программная эмуляция:
pdep :: Word -> Word -> Word
pdep src mask = go 0 src mask
where
go :: Word -> Word -> Word -> Word
go result _ 0 = result
go result src mask = go newResult newSrc newMask
where
maskCtz = countTrailingZeros mask
newResult = if testBit src 0 then setBit result maskCtz else result
newSrc = src `shiftR` 1
newMask = clearBit mask maskCtz
Начиная с: ghc-internal-0.5.2.0
pdep16# :: Word# -> Word# -> Word# Источник
Размещает биты в младших 16 битах слова в позициях, заданных маской.
Начиная с: ghc-internal-0.5.2.0
pdep32# :: Word# -> Word# -> Word# Источник
Размещает биты в младших 32 битах слова в позициях, заданных маской.
Начиная с: ghc-internal-0.5.2.0
pdep64# :: Word64# -> Word64# -> Word64# Источник
Размещает биты в слове в позициях, заданных маской.
Начиная с: ghc-internal-0.5.2.0
pdep8# :: Word# -> Word# -> Word# Источник
Размещает биты в младших 8 битах слова в позициях, заданных маской.
Начиная с: ghc-internal-0.5.2.0
pext# :: Word# -> Word# -> Word# Источник
Извлекает биты из слова в позициях, заданных маской; эта операция также называется параллельным извлечением битов.
Программная эмуляция:
pext :: Word -> Word -> Word
pext src mask = loop 0 0 0
where
loop i count result
| i >= finiteBitSize (0 :: Word)
= result
| testBit mask i
= loop (i + 1) (count + 1) (if testBit src i then setBit result count else result)
| otherwise
= loop (i + 1) count result
Начиная с: ghc-internal-0.5.2.0
pext16# :: Word# -> Word# -> Word# Источник
Извлекает биты из младших 16 бит слова в позициях, заданных маской.
Начиная с: ghc-internal-0.5.2.0
pext32# :: Word# -> Word# -> Word# Источник
Извлекает биты из младших 32 бит слова в позициях, заданных маской.
Начиная с: ghc-internal-0.5.2.0
pext64# :: Word64# -> Word64# -> Word64# Источник
Извлекает биты из слова в позициях, заданных маской.
Начиная с: ghc-internal-0.5.2.0
pext8# :: Word# -> Word# -> Word# Источник
Извлекает биты из младших 8 бит слова в позициях, заданных маской.
Начиная с: ghc-internal-0.5.2.0
plusAddr# :: Addr# -> Int# -> Addr# Источник
plusDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2# Источник
Складывает два вектора поэлементно.
plusDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4# Источник
Складывает два вектора поэлементно.
plusDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8# Источник
Складывает два вектора поэлементно.
plusFloat# :: Float# -> Float# -> Float# Источник
plusFloatX16# :: FloatX16# -> FloatX16# -> FloatX16# Источник
Складывает два вектора поэлементно.
plusFloatX4# :: FloatX4# -> FloatX4# -> FloatX4# Источник
Складывает два вектора поэлементно.
plusFloatX8# :: FloatX8# -> FloatX8# -> FloatX8# Источник
Складывает два вектора поэлементно.
plusInt16# :: Int16# -> Int16# -> Int16# Источник
plusInt16X16# :: Int16X16# -> Int16X16# -> Int16X16# Источник
Складывает два вектора поэлементно.
plusInt16X32# :: Int16X32# -> Int16X32# -> Int16X32# Источник
Складывает два вектора поэлементно.
plusInt16X8# :: Int16X8# -> Int16X8# -> Int16X8# Источник
Складывает два вектора поэлементно.
plusInt32# :: Int32# -> Int32# -> Int32# Источник
plusInt32X16# :: Int32X16# -> Int32X16# -> Int32X16# Источник
Складывает два вектора поэлементно.
plusInt32X4# :: Int32X4# -> Int32X4# -> Int32X4# Источник
Складывает два вектора поэлементно.
plusInt32X8# :: Int32X8# -> Int32X8# -> Int32X8# Источник
Складывает два вектора поэлементно.
plusInt64# :: Int64# -> Int64# -> Int64# Источник
plusInt64X2# :: Int64X2# -> Int64X2# -> Int64X2# Источник
Складывает два вектора поэлементно.
plusInt64X4# :: Int64X4# -> Int64X4# -> Int64X4# Источник
Складывает два вектора поэлементно.
plusInt64X8# :: Int64X8# -> Int64X8# -> Int64X8# Источник
Складывает два вектора поэлементно.
plusInt8# :: Int8# -> Int8# -> Int8# Источник
plusInt8X16# :: Int8X16# -> Int8X16# -> Int8X16# Источник
Складывает два вектора поэлементно.
plusInt8X32# :: Int8X32# -> Int8X32# -> Int8X32# Источник
Складывает два вектора поэлементно.
plusInt8X64# :: Int8X64# -> Int8X64# -> Int8X64# Источник
Складывает два вектора поэлементно.
plusWord# :: Word# -> Word# -> Word# Источник
plusWord16# :: Word16# -> Word16# -> Word16# Источник
plusWord16X16# :: Word16X16# -> Word16X16# -> Word16X16# Источник
Сложить два вектора поэлементно.
plusWord16X32# :: Word16X32# -> Word16X32# -> Word16X32# Источник
Сложить два вектора поэлементно.
plusWord16X8# :: Word16X8# -> Word16X8# -> Word16X8# Источник
Сложить два вектора поэлементно.
plusWord2# :: Word# -> Word# -> (# Word#, Word# #) Источник
Сложить беззнаковые целые числа: старшая часть (перенос) находится в первом компоненте возвращаемой пары, а младшая часть — во втором компоненте пары. См. также addWordC#.
plusWord32# :: Word32# -> Word32# -> Word32# Источник
plusWord32X16# :: Word32X16# -> Word32X16# -> Word32X16# Источник
Сложить два вектора поэлементно.
plusWord32X4# :: Word32X4# -> Word32X4# -> Word32X4# Источник
Сложить два вектора поэлементно.
plusWord32X8# :: Word32X8# -> Word32X8# -> Word32X8# Источник
Сложить два вектора поэлементно.
plusWord64# :: Word64# -> Word64# -> Word64# Источник
plusWord64X2# :: Word64X2# -> Word64X2# -> Word64X2# Источник
Сложить два вектора поэлементно.
plusWord64X4# :: Word64X4# -> Word64X4# -> Word64X4# Источник
Сложить два вектора поэлементно.
plusWord64X8# :: Word64X8# -> Word64X8# -> Word64X8# Источник
Сложить два вектора поэлементно.
plusWord8# :: Word8# -> Word8# -> Word8# Источник
plusWord8X16# :: Word8X16# -> Word8X16# -> Word8X16# Источник
Сложить два вектора поэлементно.
plusWord8X32# :: Word8X32# -> Word8X32# -> Word8X32# Источник
Сложить два вектора поэлементно.
plusWord8X64# :: Word8X64# -> Word8X64# -> Word8X64# Источник
Сложить два вектора поэлементно.
popCnt# :: Word# -> Word# Источник
Подсчитать количество установленных битов в машинном слове.
popCnt16# :: Word# -> Word# Источник
Подсчитать количество установленных битов в младших 16 битах машинного слова.
popCnt32# :: Word# -> Word# Источник
Подсчитать количество установленных битов в младших 32 битах машинного слова.
popCnt64# :: Word64# -> Word# Источник
Подсчитать количество установленных битов в 64-битном машинном слове.
popCnt8# :: Word# -> Word# Источник
Подсчитать количество установленных битов в младших 8 битах машинного слова.
powerFloat# :: Float# -> Float# -> Float# Источник
prefetchAddr0# :: Addr# -> Int# -> State# d -> State# d Источник
prefetchAddr1# :: Addr# -> Int# -> State# d -> State# d Источник
prefetchAddr2# :: Addr# -> Int# -> State# d -> State# d Источник
prefetchAddr3# :: Addr# -> Int# -> State# d -> State# d Источник
prefetchByteArray0# :: ByteArray# -> Int# -> State# d -> State# d Источник
prefetchByteArray1# :: ByteArray# -> Int# -> State# d -> State# d Источник
prefetchByteArray2# :: ByteArray# -> Int# -> State# d -> State# d Источник
prefetchByteArray3# :: ByteArray# -> Int# -> State# d -> State# d Источник
prefetchMutableByteArray0# :: MutableByteArray# d -> Int# -> State# d -> State# d Источник
prefetchMutableByteArray1# :: MutableByteArray# d -> Int# -> State# d -> State# d Источник
prefetchMutableByteArray2# :: MutableByteArray# d -> Int# -> State# d -> State# d Источник
prefetchMutableByteArray3# :: MutableByteArray# d -> Int# -> State# d -> State# d Источник
prefetchValue0# :: a -> State# d -> State# d Источник
prefetchValue1# :: a -> State# d -> State# d Источник
prefetchValue2# :: a -> State# d -> State# d Источник
prefetchValue3# :: a -> State# d -> State# d Источник
prompt# :: PromptTag# a -> (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #) Источник
См. GHC.Prim.
proxy# :: forall {k} (a :: k). Proxy# a Источник
Свидетель для распакованного значения Proxy#, не имеющего представления во время выполнения.
putMVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MVar# d a -> a -> State# d -> State# d Источник
Если MVar# заполнена, блокировать выполнение, пока она не опустеет. Затем сохранить значение аргумента arg в качестве нового содержимого.
quotInt# :: Int# -> Int# -> Int# Источник
Округляет в сторону нуля. Поведение не определено, если второй аргумент равен нулю.
quotInt16# :: Int16# -> Int16# -> Int16# Источник
quotInt16X16# :: Int16X16# -> Int16X16# -> Int16X16# Источник
Округляет в сторону нуля поэлементно.
Примечание: в большинстве архитектур наборов команд процессоров (ISA) нет инструкций SIMD-деления целых чисел. Не рассчитывайте на высокую производительность.
quotInt16X32# :: Int16X32# -> Int16X32# -> Int16X32# Источник
Округляет в сторону нуля поэлементно.
Примечание: в большинстве архитектур наборов команд процессоров (ISA) нет инструкций SIMD-деления целых чисел. Не рассчитывайте на высокую производительность.
quotInt16X8# :: Int16X8# -> Int16X8# -> Int16X8# Источник
Округляет в сторону нуля поэлементно.
Примечание: в большинстве архитектур наборов команд процессоров (ISA) нет инструкций SIMD-деления целых чисел. Не рассчитывайте на высокую производительность.
quotInt32# :: Int32# -> Int32# -> Int32# Источник
quotInt32X16# :: Int32X16# -> Int32X16# -> Int32X16# Источник
Округляет в сторону нуля поэлементно.
Примечание: в большинстве архитектур наборов команд процессоров (ISA) нет инструкций SIMD-деления целых чисел. Не рассчитывайте на высокую производительность.
quotInt32X4# :: Int32X4# -> Int32X4# -> Int32X4# Источник
Округляет в сторону нуля поэлементно.
Примечание: в большинстве архитектур наборов команд процессоров (ISA) нет инструкций SIMD-деления целых чисел. Не рассчитывайте на высокую производительность.
quotInt32X8# :: Int32X8# -> Int32X8# -> Int32X8# Источник
Округляет в сторону нуля поэлементно.
Примечание: в большинстве архитектур наборов команд процессоров (ISA) нет инструкций SIMD-деления целых чисел. Не рассчитывайте на высокую производительность.
quotInt64# :: Int64# -> Int64# -> Int64# Источник
quotInt64X2# :: Int64X2# -> Int64X2# -> Int64X2# Источник
Округляет в сторону нуля поэлементно.
Примечание: в большинстве архитектур наборов команд процессоров (ISA) нет инструкций SIMD-деления целых чисел. Не рассчитывайте на высокую производительность.
quotInt64X4# :: Int64X4# -> Int64X4# -> Int64X4# Источник
Округляет в сторону нуля поэлементно.
Примечание: в большинстве архитектур наборов команд процессоров (ISA) нет инструкций SIMD-деления целых чисел. Не рассчитывайте на высокую производительность.
quotInt64X8# :: Int64X8# -> Int64X8# -> Int64X8# Источник
Округляет в сторону нуля поэлементно.
Примечание: в большинстве архитектур наборов команд процессоров (ISA) нет инструкций SIMD-деления целых чисел. Не рассчитывайте на высокую производительность.
quotInt8# :: Int8# -> Int8# -> Int8# Источник
quotInt8X16# :: Int8X16# -> Int8X16# -> Int8X16# Источник
Округляет в сторону нуля поэлементно.
Примечание: в большинстве архитектур наборов команд процессоров (ISA) нет инструкций SIMD-деления целых чисел. Не рассчитывайте на высокую производительность.
quotInt8X32# :: Int8X32# -> Int8X32# -> Int8X32# Источник
Округляет в сторону нуля поэлементно.
Примечание: в большинстве архитектур наборов команд процессоров (ISA) нет инструкций SIMD-деления целых чисел. Не рассчитывайте на высокую производительность.
quotInt8X64# :: Int8X64# -> Int8X64# -> Int8X64# Источник
Округляет в сторону нуля поэлементно.
Примечание: в большинстве архитектур наборов команд процессоров (ISA) нет инструкций SIMD-деления целых чисел. Не рассчитывайте на высокую производительность.
quotRemInt# :: Int# -> Int# -> (# Int#, Int# #) Источник
Округляет в сторону нуля.
quotRemInt16# :: Int16# -> Int16# -> (# Int16#, Int16# #) Источник
quotRemInt32# :: Int32# -> Int32# -> (# Int32#, Int32# #) Источник
quotRemInt8# :: Int8# -> Int8# -> (# Int8#, Int8# #) Источник
quotRemWord# :: Word# -> Word# -> (# Word#, Word# #) Источник
quotRemWord16# :: Word16# -> Word16# -> (# Word16#, Word16# #) Источник
quotRemWord2# :: Word# -> Word# -> Word# -> (# Word#, Word# #) Источник
Принимает старшее слово делимого, затем младшее слово делимого, а затем делитель. Требуется, чтобы старшее слово было меньше делителя.
quotRemWord32# :: Word32# -> Word32# -> (# Word32#, Word32# #) Источник
quotRemWord8# :: Word8# -> Word8# -> (# Word8#, Word8# #) Источник
quotWord# :: Word# -> Word# -> Word# Источник
quotWord16# :: Word16# -> Word16# -> Word16# Источник
quotWord16X16# :: Word16X16# -> Word16X16# -> Word16X16# Источник
Выполняет округление к нулю для каждого элемента.
Примечание: большинство наборов команд ЦП не содержат инструкций SIMD для деления целых чисел. Не рассчитывайте на высокую производительность.
quotWord16X32# :: Word16X32# -> Word16X32# -> Word16X32# Источник
Выполняет округление к нулю для каждого элемента.
Примечание: большинство наборов команд ЦП не содержат инструкций SIMD для деления целых чисел. Не рассчитывайте на высокую производительность.
quotWord16X8# :: Word16X8# -> Word16X8# -> Word16X8# Источник
Выполняет округление к нулю для каждого элемента.
Примечание: большинство наборов команд ЦП не содержат инструкций SIMD для деления целых чисел. Не рассчитывайте на высокую производительность.
quotWord32# :: Word32# -> Word32# -> Word32# Источник
quotWord32X16# :: Word32X16# -> Word32X16# -> Word32X16# Источник
Выполняет округление к нулю для каждого элемента.
Примечание: большинство наборов команд ЦП не содержат инструкций SIMD для деления целых чисел. Не рассчитывайте на высокую производительность.
quotWord32X4# :: Word32X4# -> Word32X4# -> Word32X4# Источник
Выполняет округление к нулю для каждого элемента.
Примечание: большинство наборов команд ЦП не содержат инструкций SIMD для деления целых чисел. Не рассчитывайте на высокую производительность.
quotWord32X8# :: Word32X8# -> Word32X8# -> Word32X8# Источник
Выполняет округление к нулю для каждого элемента.
Примечание: большинство наборов команд ЦП не содержат инструкций SIMD для деления целых чисел. Не рассчитывайте на высокую производительность.
quotWord64# :: Word64# -> Word64# -> Word64# Источник
quotWord64X2# :: Word64X2# -> Word64X2# -> Word64X2# Источник
Выполняет округление к нулю для каждого элемента.
Примечание: большинство наборов команд ЦП не содержат инструкций SIMD для деления целых чисел. Не рассчитывайте на высокую производительность.
quotWord64X4# :: Word64X4# -> Word64X4# -> Word64X4# Источник
Выполняет округление к нулю для каждого элемента.
Примечание: большинство наборов команд ЦП не содержат инструкций SIMD для деления целых чисел. Не рассчитывайте на высокую производительность.
quotWord64X8# :: Word64X8# -> Word64X8# -> Word64X8# Источник
Выполняет округление к нулю для каждого элемента.
Примечание: большинство наборов команд ЦП не содержат инструкций SIMD для деления целых чисел. Не рассчитывайте на высокую производительность.
quotWord8# :: Word8# -> Word8# -> Word8# Источник
quotWord8X16# :: Word8X16# -> Word8X16# -> Word8X16# Источник
Выполняет округление к нулю для каждого элемента.
Примечание: большинство наборов команд ЦП не содержат инструкций SIMD для деления целых чисел. Не рассчитывайте на высокую производительность.
quotWord8X32# :: Word8X32# -> Word8X32# -> Word8X32# Источник
Выполняет округление к нулю для каждого элемента.
Примечание: большинство наборов команд ЦП не содержат инструкций SIMD для деления целых чисел. Не рассчитывайте на высокую производительность.
quotWord8X64# :: Word8X64# -> Word8X64# -> Word8X64# Источник
Выполняет округление к нулю для каждого элемента.
Примечание: большинство наборов команд ЦП не содержат инструкций SIMD для деления целых чисел. Не рассчитывайте на высокую производительность.
raise# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) b. a -> b Источник
raiseDivZero# :: (# #) -> b Источник
raiseIO# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) b. a -> State# RealWorld -> (# State# RealWorld, b #) Источник
raiseOverflow# :: (# #) -> b Источник
raiseUnderflow# :: (# #) -> b Источник
readAddrArray# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Addr# #) Источник
Читает машинный адрес из изменяемого массива; смещение задаётся в машинных словах.
readAddrOffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Addr# #) Источник
Читает машинный адрес из изменяемого адреса; смещение задаётся в машинных словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
readArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutableArray# d a -> Int# -> State# d -> (# State# d, a #) Источник
Читает значение по указанному индексу изменяемого массива. Результат ещё не вычислен.
readCharArray# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Char# #) Источник
Читает 8-битный символ из изменяемого массива; смещение задаётся в байтах.
readCharOffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Char# #) Источник
Читает 8-битный символ из изменяемого адреса; смещение задаётся в байтах.
readDoubleArray# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Double# #) Источник
Читает число с плавающей точкой двойной точности из изменяемого массива; смещение задаётся в 8-байтовых словах.
readDoubleArrayAsDoubleX2# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, DoubleX2# #) Источник
Читает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
readDoubleArrayAsDoubleX4# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, DoubleX4# #) Источник
Читает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
readDoubleArrayAsDoubleX8# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, DoubleX8# #) Источник
Читает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
readDoubleOffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Double# #) Источник
Читает число с плавающей точкой двойной точности из изменяемого адреса; смещение задаётся в 8-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
readDoubleOffAddrAsDoubleX2# :: Addr# -> Int# -> State# d -> (# State# d, DoubleX2# #) Источник
Читает вектор; смещение задаётся в скалярных элементах.
readDoubleOffAddrAsDoubleX4# :: Addr# -> Int# -> State# d -> (# State# d, DoubleX4# #) Источник
Читает вектор; смещение задаётся в скалярных элементах.
readDoubleOffAddrAsDoubleX8# :: Addr# -> Int# -> State# d -> (# State# d, DoubleX8# #) Источник
Читает вектор; смещение задаётся в скалярных элементах.
readDoubleX2Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, DoubleX2# #) Источник
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
readDoubleX2OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, DoubleX2# #) Источник
Читает вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
readDoubleX4Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, DoubleX4# #) Источник
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
readDoubleX4OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, DoubleX4# #) Источник
Читает вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
readDoubleX8Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, DoubleX8# #) Источник
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
readDoubleX8OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, DoubleX8# #) Источник
Читает вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
readFloatArray# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Float# #) Источник
Читает число с плавающей точкой одинарной точности из изменяемого массива; смещение задаётся в 4-байтовых словах.
readFloatArrayAsFloatX16# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, FloatX16# #) Источник
Читает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
readFloatArrayAsFloatX4# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, FloatX4# #) Источник
Читает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
readFloatArrayAsFloatX8# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, FloatX8# #) Источник
Читает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
readFloatOffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Float# #) Источник
Читает число с плавающей точкой одинарной точности из изменяемого адреса; смещение задаётся в 4-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
readFloatOffAddrAsFloatX16# :: Addr# -> Int# -> State# d -> (# State# d, FloatX16# #) Источник
Читает вектор; смещение задаётся в скалярных элементах.
readFloatOffAddrAsFloatX4# :: Addr# -> Int# -> State# d -> (# State# d, FloatX4# #) Источник
Читает вектор; смещение задаётся в скалярных элементах.
readFloatOffAddrAsFloatX8# :: Addr# -> Int# -> State# d -> (# State# d, FloatX8# #) Source
Читает вектор; смещение задаётся в скалярных элементах.
readFloatX16Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, FloatX16# #) Source
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readFloatX16OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, FloatX16# #) Source
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readFloatX4Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, FloatX4# #) Source
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readFloatX4OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, FloatX4# #) Source
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readFloatX8Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, FloatX8# #) Source
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readFloatX8OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, FloatX8# #) Source
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt16Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int16# #) Source
Читает 16-разрядное целое число со знаком из изменяемого массива; смещение задаётся в 2-байтовых словах.
readInt16ArrayAsInt16X16# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int16X16# #) Source
Читает вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readInt16ArrayAsInt16X32# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int16X32# #) Source
Читает вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readInt16ArrayAsInt16X8# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int16X8# #) Source
Читает вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readInt16OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int16# #) Source
Читает 16-разрядное целое число со знаком по изменяемому адресу; смещение задаётся в 2-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
readInt16OffAddrAsInt16X16# :: Addr# -> Int# -> State# d -> (# State# d, Int16X16# #) Source
Читает вектор; смещение задаётся в скалярных элементах.
readInt16OffAddrAsInt16X32# :: Addr# -> Int# -> State# d -> (# State# d, Int16X32# #) Source
Читает вектор; смещение задаётся в скалярных элементах.
readInt16OffAddrAsInt16X8# :: Addr# -> Int# -> State# d -> (# State# d, Int16X8# #) Source
Читает вектор; смещение задаётся в скалярных элементах.
readInt16X16Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int16X16# #) Source
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt16X16OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int16X16# #) Source
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt16X32Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int16X32# #) Source
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt16X32OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int16X32# #) Source
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt16X8Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int16X8# #) Source
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt16X8OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int16X8# #) Source
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt32Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int32# #) Source
Читает 32-разрядное целое число со знаком из изменяемого массива; смещение задаётся в 4-байтовых словах.
readInt32ArrayAsInt32X16# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int32X16# #) Source
Читает вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readInt32ArrayAsInt32X4# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int32X4# #) Source
Читает вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readInt32ArrayAsInt32X8# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int32X8# #) Source
Читает вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readInt32OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int32# #) Source
Читает 32-разрядное целое число со знаком по изменяемому адресу; смещение задаётся в 4-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
readInt32OffAddrAsInt32X16# :: Addr# -> Int# -> State# d -> (# State# d, Int32X16# #) Source
Читает вектор; смещение задаётся в скалярных элементах.
readInt32OffAddrAsInt32X4# :: Addr# -> Int# -> State# d -> (# State# d, Int32X4# #) Source
Читает вектор; смещение задаётся в скалярных элементах.
readInt32OffAddrAsInt32X8# :: Addr# -> Int# -> State# d -> (# State# d, Int32X8# #) Source
Читает вектор; смещение задаётся в скалярных элементах.
readInt32X16Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int32X16# #) Source
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt32X16OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int32X16# #) Source
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt32X4Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int32X4# #) Source
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt32X4OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int32X4# #) Source
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt32X8Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int32X8# #) Source
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt32X8OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int32X8# #) Source
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt64Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int64# #) Source
Читает 64-разрядное целое число со знаком из изменяемого массива; смещение задаётся в 8-байтовых словах.
readInt64ArrayAsInt64X2# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int64X2# #) Source
Читает вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readInt64ArrayAsInt64X4# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int64X4# #) Source
Читает вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readInt64ArrayAsInt64X8# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int64X8# #) Source
Читает вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readInt64OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int64# #) Source
Читает 64-разрядное целое число со знаком по изменяемому адресу; смещение задаётся в 8-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
readInt64OffAddrAsInt64X2# :: Addr# -> Int# -> State# d -> (# State# d, Int64X2# #) Source
Читает вектор; смещение задаётся в скалярных элементах.
readInt64OffAddrAsInt64X4# :: Addr# -> Int# -> State# d -> (# State# d, Int64X4# #) Source
Читает вектор; смещение задаётся в скалярных элементах.
readInt64OffAddrAsInt64X8# :: Addr# -> Int# -> State# d -> (# State# d, Int64X8# #) Source
Читает вектор; смещение задаётся в скалярных элементах.
readInt64X2Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int64X2# #) Source
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt64X2OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int64X2# #) Source
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt64X4Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int64X4# #) Source
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt64X4OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int64X4# #) Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt64X8Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int64X8# #) Исходный код
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt64X8OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int64X8# #) Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt8Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int8# #) Исходный код
Читает 8-битное целое число со знаком из изменяемого массива; смещение задаётся в байтах.
readInt8ArrayAsInt8X16# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int8X16# #) Исходный код
Читает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
readInt8ArrayAsInt8X32# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int8X32# #) Исходный код
Читает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
readInt8ArrayAsInt8X64# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int8X64# #) Исходный код
Читает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
readInt8OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int8# #) Исходный код
Читает 8-битное целое число со знаком из изменяемого адреса; смещение задаётся в байтах.
readInt8OffAddrAsInt8X16# :: Addr# -> Int# -> State# d -> (# State# d, Int8X16# #) Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
readInt8OffAddrAsInt8X32# :: Addr# -> Int# -> State# d -> (# State# d, Int8X32# #) Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
readInt8OffAddrAsInt8X64# :: Addr# -> Int# -> State# d -> (# State# d, Int8X64# #) Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
readInt8X16Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int8X16# #) Исходный код
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt8X16OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int8X16# #) Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt8X32Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int8X32# #) Исходный код
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt8X32OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int8X32# #) Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt8X64Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int8X64# #) Исходный код
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readInt8X64OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int8X64# #) Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readIntArray# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int# #) Исходный код
Читает целое число размером со слово из изменяемого массива; смещение задаётся в машинных словах.
readIntOffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int# #) Исходный код
Читает целое число размером со слово из изменяемого адреса; смещение задаётся в машинных словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
readMVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MVar# d a -> State# d -> (# State# d, a #) Исходный код
Если MVar# пуст, блокирует выполнение, пока оно не станет заполненным. Затем читает его содержимое, не изменяя MVar и исключая вмешательство других потоков.
readMutVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutVar# d a -> State# d -> (# State# d, a #) Исходный код
Читает содержимое MutVar#. Результат ещё не вычислен.
readSmallArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> Int# -> State# d -> (# State# d, a #) Исходный код
Читает значение по указанному индексу изменяемого массива. Результат ещё не вычислен.
readStablePtrArray# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, StablePtr# a #) Исходный код
Читает значение StablePtr# из изменяемого массива; смещение задаётся в машинных словах.
readStablePtrOffAddr# :: Addr# -> Int# -> State# d -> (# State# d, StablePtr# a #) Исходный код
Читает значение StablePtr# из изменяемого адреса; смещение задаётся в машинных словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
readTVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). TVar# d a -> State# d -> (# State# d, a #) Исходный код
Читает содержимое TVar# в транзакции STM, то есть во время вызова atomically#. Не принуждает к вычислению результата.
readTVarIO# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). TVar# d a -> State# d -> (# State# d, a #) Исходный код
Читает содержимое TVar# вне транзакции STM. Не принуждает к вычислению результата.
readWideCharArray# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Char# #) Исходный код
Читает 32-битный символ из изменяемого массива; смещение задаётся в 4-байтовых словах.
readWideCharOffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Char# #) Исходный код
Читает 32-битный символ из изменяемого адреса; смещение задаётся в 4-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
readWord16Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word16# #) Исходный код
Читает 16-битное целое число без знака из изменяемого массива; смещение задаётся в 2-байтовых словах.
readWord16ArrayAsWord16X16# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word16X16# #) Исходный код
Читает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
readWord16ArrayAsWord16X32# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word16X32# #) Исходный код
Читает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
readWord16ArrayAsWord16X8# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word16X8# #) Исходный код
Читает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
readWord16OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word16# #) Исходный код
Читает 16-битное целое число без знака из изменяемого адреса; смещение задаётся в 2-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
readWord16OffAddrAsWord16X16# :: Addr# -> Int# -> State# d -> (# State# d, Word16X16# #) Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
readWord16OffAddrAsWord16X32# :: Addr# -> Int# -> State# d -> (# State# d, Word16X32# #) Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
readWord16OffAddrAsWord16X8# :: Addr# -> Int# -> State# d -> (# State# d, Word16X8# #) Исходный код
Читает вектор; смещение задаётся в скалярных элементах.
readWord16X16Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word16X16# #) Исходный код
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readWord16X16OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word16X16# #) Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readWord16X32Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word16X32# #) Исходный код
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readWord16X32OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word16X32# #) Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readWord16X8Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word16X8# #) Исходный код
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (не скалярных элементов).
readWord16X8OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word16X8# #) Исходный код
Читает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
readWord32Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word32# #) Исходный код
Читает 32-битное целое число без знака из изменяемого массива; смещение задаётся в 4-байтовых словах.
readWord32ArrayAsWord32X16# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word32X16# #) Исходный код
Читает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
readWord32ArrayAsWord32X4# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word32X4# #) Исходный код
Прочитать вектор из указанного индекса изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readWord32ArrayAsWord32X8# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word32X8# #) Исходный код
Прочитать вектор из указанного индекса изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readWord32OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word32# #) Исходный код
Прочитать 32-разрядное беззнаковое целое число из изменяемого адреса; смещение задаётся в 4-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
readWord32OffAddrAsWord32X16# :: Addr# -> Int# -> State# d -> (# State# d, Word32X16# #) Исходный код
Прочитать вектор; смещение задаётся в скалярных элементах.
readWord32OffAddrAsWord32X4# :: Addr# -> Int# -> State# d -> (# State# d, Word32X4# #) Исходный код
Прочитать вектор; смещение задаётся в скалярных элементах.
readWord32OffAddrAsWord32X8# :: Addr# -> Int# -> State# d -> (# State# d, Word32X8# #) Исходный код
Прочитать вектор; смещение задаётся в скалярных элементах.
readWord32X16Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word32X16# #) Исходный код
Прочитать вектор из указанного индекса изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
readWord32X16OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word32X16# #) Исходный код
Прочитать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
readWord32X4Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word32X4# #) Исходный код
Прочитать вектор из указанного индекса изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
readWord32X4OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word32X4# #) Исходный код
Прочитать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
readWord32X8Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word32X8# #) Исходный код
Прочитать вектор из указанного индекса изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
readWord32X8OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word32X8# #) Исходный код
Прочитать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
readWord64Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word64# #) Исходный код
Прочитать 64-разрядное беззнаковое целое число из изменяемого массива; смещение задаётся в 8-байтовых словах.
readWord64ArrayAsWord64X2# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word64X2# #) Исходный код
Прочитать вектор из указанного индекса изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readWord64ArrayAsWord64X4# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word64X4# #) Исходный код
Прочитать вектор из указанного индекса изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readWord64ArrayAsWord64X8# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word64X8# #) Исходный код
Прочитать вектор из указанного индекса изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readWord64OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word64# #) Исходный код
Прочитать 64-разрядное беззнаковое целое число из изменяемого адреса; смещение задаётся в 8-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
readWord64OffAddrAsWord64X2# :: Addr# -> Int# -> State# d -> (# State# d, Word64X2# #) Исходный код
Прочитать вектор; смещение задаётся в скалярных элементах.
readWord64OffAddrAsWord64X4# :: Addr# -> Int# -> State# d -> (# State# d, Word64X4# #) Исходный код
Прочитать вектор; смещение задаётся в скалярных элементах.
readWord64OffAddrAsWord64X8# :: Addr# -> Int# -> State# d -> (# State# d, Word64X8# #) Исходный код
Прочитать вектор; смещение задаётся в скалярных элементах.
readWord64X2Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word64X2# #) Исходный код
Прочитать вектор из указанного индекса изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
readWord64X2OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word64X2# #) Исходный код
Прочитать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
readWord64X4Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word64X4# #) Исходный код
Прочитать вектор из указанного индекса изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
readWord64X4OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word64X4# #) Исходный код
Прочитать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
readWord64X8Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word64X8# #) Исходный код
Прочитать вектор из указанного индекса изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
readWord64X8OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word64X8# #) Исходный код
Прочитать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
readWord8Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word8# #) Исходный код
Прочитать 8-разрядное беззнаковое целое число из изменяемого массива; смещение задаётся в байтах.
readWord8ArrayAsAddr# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Addr# #) Исходный код
Прочитать машинный адрес из изменяемого массива; смещение задаётся в байтах.
readWord8ArrayAsChar# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Char# #) Исходный код
Прочитать 8-разрядный символ из изменяемого массива; смещение задаётся в байтах.
readWord8ArrayAsDouble# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Double# #) Исходный код
Прочитать число с плавающей точкой двойной точности из изменяемого массива; смещение задаётся в байтах.
readWord8ArrayAsFloat# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Float# #) Исходный код
Прочитать число с плавающей точкой одинарной точности из изменяемого массива; смещение задаётся в байтах.
readWord8ArrayAsInt# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int# #) Исходный код
Прочитать целое число машинной разрядности из изменяемого массива; смещение задаётся в байтах.
readWord8ArrayAsInt16# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int16# #) Исходный код
Прочитать 16-разрядное знаковое целое число из изменяемого массива; смещение задаётся в байтах.
readWord8ArrayAsInt32# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int32# #) Исходный код
Прочитать 32-разрядное знаковое целое число из изменяемого массива; смещение задаётся в байтах.
readWord8ArrayAsInt64# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int64# #) Исходный код
Прочитать 64-разрядное знаковое целое число из изменяемого массива; смещение задаётся в байтах.
readWord8ArrayAsStablePtr# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, StablePtr# a #) Исходный код
Прочитать значение StablePtr# из изменяемого массива; смещение задаётся в байтах.
readWord8ArrayAsWideChar# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Char# #) Исходный код
Прочитать 32-разрядный символ из изменяемого массива; смещение задаётся в байтах.
readWord8ArrayAsWord# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word# #) Исходный код
Прочитать беззнаковое целое число машинной разрядности из изменяемого массива; смещение задаётся в байтах.
readWord8ArrayAsWord16# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word16# #) Исходный код
Прочитать 16-разрядное беззнаковое целое число из изменяемого массива; смещение задаётся в байтах.
readWord8ArrayAsWord32# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word32# #) Исходный код
Прочитать 32-разрядное беззнаковое целое число из изменяемого массива; смещение задаётся в байтах.
readWord8ArrayAsWord64# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word64# #) Исходный код
Прочитать 64-разрядное беззнаковое целое число из изменяемого массива; смещение задаётся в байтах.
readWord8ArrayAsWord8X16# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word8X16# #) Исходный код
Прочитать вектор из указанного индекса изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readWord8ArrayAsWord8X32# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word8X32# #) Исходный код
Прочитать вектор из указанного индекса изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readWord8ArrayAsWord8X64# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word8X64# #) Исходный код
Прочитать вектор из указанного индекса изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
readWord8OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word8# #) Исходный код
Прочитать 8-разрядное беззнаковое целое число из изменяемого адреса; смещение задаётся в байтах.
readWord8OffAddrAsAddr# :: Addr# -> Int# -> State# d -> (# State# d, Addr# #) Исходный код
Прочитать машинный адрес из изменяемого адреса; смещение задаётся в байтах.
readWord8OffAddrAsChar# :: Addr# -> Int# -> State# d -> (# State# d, Char# #) Источник
Читает 8-битный символ из изменяемого адреса; смещение указано в байтах.
readWord8OffAddrAsDouble# :: Addr# -> Int# -> State# d -> (# State# d, Double# #) Источник
Читает число с плавающей точкой двойной точности из изменяемого адреса; смещение указано в байтах.
readWord8OffAddrAsFloat# :: Addr# -> Int# -> State# d -> (# State# d, Float# #) Источник
Читает число с плавающей точкой одинарной точности из изменяемого адреса; смещение указано в байтах.
readWord8OffAddrAsInt# :: Addr# -> Int# -> State# d -> (# State# d, Int# #) Источник
Читает целое число размером со слово из изменяемого адреса; смещение указано в байтах.
readWord8OffAddrAsInt16# :: Addr# -> Int# -> State# d -> (# State# d, Int16# #) Источник
Читает 16-битное целое число со знаком из изменяемого адреса; смещение указано в байтах.
readWord8OffAddrAsInt32# :: Addr# -> Int# -> State# d -> (# State# d, Int32# #) Источник
Читает 32-битное целое число со знаком из изменяемого адреса; смещение указано в байтах.
readWord8OffAddrAsInt64# :: Addr# -> Int# -> State# d -> (# State# d, Int64# #) Источник
Читает 64-битное целое число со знаком из изменяемого адреса; смещение указано в байтах.
readWord8OffAddrAsStablePtr# :: Addr# -> Int# -> State# d -> (# State# d, StablePtr# a #) Источник
Читает значение StablePtr# из изменяемого адреса; смещение указано в байтах.
readWord8OffAddrAsWideChar# :: Addr# -> Int# -> State# d -> (# State# d, Char# #) Источник
Читает 32-битный символ из изменяемого адреса; смещение указано в байтах.
readWord8OffAddrAsWord# :: Addr# -> Int# -> State# d -> (# State# d, Word# #) Источник
Читает беззнаковое целое число размером со слово из изменяемого адреса; смещение указано в байтах.
readWord8OffAddrAsWord16# :: Addr# -> Int# -> State# d -> (# State# d, Word16# #) Источник
Читает 16-битное беззнаковое целое число из изменяемого адреса; смещение указано в байтах.
readWord8OffAddrAsWord32# :: Addr# -> Int# -> State# d -> (# State# d, Word32# #) Источник
Читает 32-битное беззнаковое целое число из изменяемого адреса; смещение указано в байтах.
readWord8OffAddrAsWord64# :: Addr# -> Int# -> State# d -> (# State# d, Word64# #) Источник
Читает 64-битное беззнаковое целое число из изменяемого адреса; смещение указано в байтах.
readWord8OffAddrAsWord8X16# :: Addr# -> Int# -> State# d -> (# State# d, Word8X16# #) Источник
Читает вектор; смещение указано в скалярных элементах.
readWord8OffAddrAsWord8X32# :: Addr# -> Int# -> State# d -> (# State# d, Word8X32# #) Источник
Читает вектор; смещение указано в скалярных элементах.
readWord8OffAddrAsWord8X64# :: Addr# -> Int# -> State# d -> (# State# d, Word8X64# #) Источник
Читает вектор; смещение указано в скалярных элементах.
readWord8X16Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word8X16# #) Источник
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
readWord8X16OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word8X16# #) Источник
Читает вектор; смещение указано в единицах SIMD-векторов (а не скалярных элементов).
readWord8X32Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word8X32# #) Источник
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
readWord8X32OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word8X32# #) Источник
Читает вектор; смещение указано в единицах SIMD-векторов (а не скалярных элементов).
readWord8X64Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word8X64# #) Источник
Читает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
readWord8X64OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word8X64# #) Источник
Читает вектор; смещение указано в единицах SIMD-векторов (а не скалярных элементов).
readWordArray# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word# #) Источник
Читает беззнаковое целое число размером со слово из изменяемого массива; смещение указано в машинных словах.
readWordOffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word# #) Источник
Читает беззнаковое целое число размером со слово из изменяемого адреса; смещение указано в машинных словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
realWorld# :: State# RealWorld Источник
Токен, используемый при реализации монады IO в виде монады состояний. Во время выполнения он не передаёт никаких данных. См. также runRW#.
reallyUnsafePtrEquality# :: forall {l :: Levity} {k :: Levity} (a :: TYPE ('BoxedRep l)) (b :: TYPE ('BoxedRep k)). a -> b -> Int# Источник
Возвращает 1#, если указанные указатели равны, и 0# в противном случае.
remAddr# :: Addr# -> Int# -> Int# Источник
Возвращает остаток от деления аргумента Addr#, рассматриваемого как Int#, на аргумент Int#.
remInt# :: Int# -> Int# -> Int# Источник
Удовлетворяет условию (quotInt# x y) *# y +# (remInt# x y) == x. Поведение не определено, если второй аргумент равен нулю.
remInt16# :: Int16# -> Int16# -> Int16# Источник
remInt16X16# :: Int16X16# -> Int16X16# -> Int16X16# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remInt16X32# :: Int16X32# -> Int16X32# -> Int16X32# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remInt16X8# :: Int16X8# -> Int16X8# -> Int16X8# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remInt32# :: Int32# -> Int32# -> Int32# Источник
remInt32X16# :: Int32X16# -> Int32X16# -> Int32X16# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remInt32X4# :: Int32X4# -> Int32X4# -> Int32X4# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remInt32X8# :: Int32X8# -> Int32X8# -> Int32X8# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remInt64# :: Int64# -> Int64# -> Int64# Источник
remInt64X2# :: Int64X2# -> Int64X2# -> Int64X2# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remInt64X4# :: Int64X4# -> Int64X4# -> Int64X4# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remInt64X8# :: Int64X8# -> Int64X8# -> Int64X8# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remInt8# :: Int8# -> Int8# -> Int8# Источник
remInt8X16# :: Int8X16# -> Int8X16# -> Int8X16# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remInt8X32# :: Int8X32# -> Int8X32# -> Int8X32# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remInt8X64# :: Int8X64# -> Int8X64# -> Int8X64# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remWord# :: Word# -> Word# -> Word# Источник
remWord16# :: Word16# -> Word16# -> Word16# Источник
remWord16X16# :: Word16X16# -> Word16X16# -> Word16X16# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remWord16X32# :: Word16X32# -> Word16X32# -> Word16X32# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remWord16X8# :: Word16X8# -> Word16X8# -> Word16X8# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remWord32# :: Word32# -> Word32# -> Word32# Источник
remWord32X16# :: Word32X16# -> Word32X16# -> Word32X16# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remWord32X4# :: Word32X4# -> Word32X4# -> Word32X4# Источник
Удовлетворяет условию (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство архитектур набора команд CPU не поддерживают SIMD-инструкции деления целых чисел. Не рассчитывайте на высокую производительность.
remWord32X8# :: Word32X8# -> Word32X8# -> Word32X8# Источник
Удовлетворяет (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство наборов команд CPU не содержат инструкций SIMD для целочисленного деления. Не рассчитывайте на высокую производительность.
remWord64# :: Word64# -> Word64# -> Word64# Источник
remWord64X2# :: Word64X2# -> Word64X2# -> Word64X2# Источник
Удовлетворяет (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство наборов команд CPU не содержат инструкций SIMD для целочисленного деления. Не рассчитывайте на высокую производительность.
remWord64X4# :: Word64X4# -> Word64X4# -> Word64X4# Источник
Удовлетворяет (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство наборов команд CPU не содержат инструкций SIMD для целочисленного деления. Не рассчитывайте на высокую производительность.
remWord64X8# :: Word64X8# -> Word64X8# -> Word64X8# Источник
Удовлетворяет (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство наборов команд CPU не содержат инструкций SIMD для целочисленного деления. Не рассчитывайте на высокую производительность.
remWord8# :: Word8# -> Word8# -> Word8# Источник
remWord8X16# :: Word8X16# -> Word8X16# -> Word8X16# Источник
Удовлетворяет (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство наборов команд CPU не содержат инструкций SIMD для целочисленного деления. Не рассчитывайте на высокую производительность.
remWord8X32# :: Word8X32# -> Word8X32# -> Word8X32# Источник
Удовлетворяет (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство наборов команд CPU не содержат инструкций SIMD для целочисленного деления. Не рассчитывайте на высокую производительность.
remWord8X64# :: Word8X64# -> Word8X64# -> Word8X64# Источник
Удовлетворяет (quot# x y) times# y plus# (rem# x y) == x.
Примечание: большинство наборов команд CPU не содержат инструкций SIMD для целочисленного деления. Не рассчитывайте на высокую производительность.
resizeMutableByteArray# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, MutableByteArray# d #) Источник
Изменяет размер изменяемого массива байтов до нового заданного размера (в байтах), уменьшая или увеличивая его. Возвращённый MutableByteArray# — это исходный MutableByteArray# с изменённым размером на месте либо, если это невозможно, новый выделенный (не закреплённый) MutableByteArray#, в который скопировано исходное содержимое.
Во избежание неопределённого поведения после выполнения resizeMutableByteArray# исходный MutableByteArray# больше нельзя использовать. Кроме того, не следует сохранять ссылку на старый массив, чтобы сборщик мусора мог освободить исходный MutableByteArray#, если пришлось выделить новый MutableByteArray#.
Начиная с: ghc-internal-0.4.0.0
retry# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). State# RealWorld -> (# State# RealWorld, a #) Источник
rightSection :: forall {n :: Multiplicity} {o :: Multiplicity} a b c. (a %n -> b %o -> c) -> b %o -> a %n -> c Источник
seq :: a -> b -> b infixr 0 Источник
Значение seq a b равно bottom, если a равно bottom, и в противном случае равно b. Иными словами, функция вычисляет первый аргумент a до слабой головной нормальной формы (WHNF). seq обычно вводят для повышения производительности, избегая ненужной ленивости.
Примечание о порядке вычисления: выражение seq a b не гарантирует, что a будет вычислено раньше b. Единственная гарантия, предоставляемая seq, состоит в том, что и a, и b будут вычислены до того, как seq вернёт значение. В частности, это означает, что b может быть вычислено раньше a. Если необходимо гарантировать определённый порядок вычисления, следует использовать функцию pseq из пакета "parallel".
setAddrRange# :: Addr# -> Int# -> Int# -> State# RealWorld -> State# RealWorld Источник
setAddrRange# dest len c задаёт всем байтам в [dest, dest+len) значение c.
Аналогична стандартной функции C memset, но аргументы передаются в другом порядке.
Начиная с: ghc-internal-0.11.0
setByteArray# :: MutableByteArray# d -> Int# -> Int# -> Int# -> State# d -> State# d Источник
setByteArray# ba off len c заполняет диапазон байтов [off, off+len) в MutableByteArray# байтом c.
setOtherThreadAllocationCounter# :: Int64# -> ThreadId# -> State# RealWorld -> State# RealWorld Источник
Задаёт указанный счётчик выделенной памяти для другого потока. При этом не учитываются выделения памяти в текущем фрагменте nursery. Поэтому значение точно только в том случае, если другой поток в данный момент не выполняется.
setThreadAllocationCounter# :: Int64# -> State# RealWorld -> RealWorld State# RealWorld Источник
Задаёт указанный счётчик выделенной памяти для текущего потока.
shrinkMutableByteArray# :: MutableByteArray# d -> Int# -> State# d -> State# d Источник
Уменьшает размер изменяемого массива байтов до нового заданного размера (в байтах) в указанном потоке состояния. Новый размер должен быть меньше или равен текущему размеру, возвращаемому getSizeofMutableByteArray#.
Если использовать RTS без профилирования, эта примитивная операция компилируется в операцию O(1) на C-- и изменяет массив на месте. В бэкендах, обходящих представление C-- (например, JavaScript), поведение может отличаться.
Начиная с: ghc-internal-0.4.0.0
shrinkSmallMutableArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> Int# -> State# d -> State# d Источник
Уменьшает размер изменяемого массива до нового заданного размера в указанном потоке состояния. Новый размер должен быть меньше или равен текущему размеру, возвращаемому getSizeofSmallMutableArray#.
Если использовать RTS без профилирования и сборщик мусора с копированием (по умолчанию), эта примитивная операция компилируется в операцию O(1) на C-- и изменяет массив на месте. Однако для не перемещающего сборщика мусора время выполнения пропорционально числу удаляемых элементов. В бэкендах, обходящих представление C-- (например, JavaScript), поведение может отличаться.
Начиная с: ghc-internal-0.6.1
sinDouble# :: Double# -> Double# Источник
sinFloat# :: Float# -> Float# Источник
sinhDouble# :: Double# -> Double# Источник
sinhFloat# :: Float# -> Float# Источник
sizeofArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). Array# a -> Int# Источник
Возвращает число элементов в массиве.
sizeofByteArray# :: ByteArray# -> Int# Источник
Возвращает размер массива в байтах.
sizeofMutableArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutableArray# d a -> Int# Источник
Возвращает число элементов в массиве.
sizeofMutableByteArray# :: MutableByteArray# d -> Int# Источник
Устарело: используйте вместо этого getSizeofMutableByteArray#
Возвращает размер массива в байтах. Устарело: эта функция небезопасна при наличии операций shrinkMutableByteArray# и resizeMutableByteArray# над одним и тем же изменяемым массивом байтов.
sizeofSmallArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). SmallArray# a -> Int# Источник
Возвращает число элементов в массиве.
sizeofSmallMutableArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> Int# Источник
Устарело: используйте вместо этого getSizeofSmallMutableArray#
Возвращает число элементов в массиве. Устарело: эта функция небезопасна при наличии операций shrinkSmallMutableArray# и resizeSmallMutableArray# над одним и тем же небольшим изменяемым массивом.
spark# :: a -> State# d -> (# State# d, a #) Источник
sqrtDouble# :: Double# -> Double# Источник
sqrtFloat# :: Float# -> Float# Источник
stableNameToInt# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). StableName# a -> Int# Источник
subInt16# :: Int16# -> Int16# -> Int16# Источник
subInt32# :: Int32# -> Int32# -> Int32# Источник
subInt64# :: Int64# -> Int64# -> Int64# Источник
subInt8# :: Int8# -> Int8# -> Int8# Источник
subIntC# :: Int# -> Int# -> (# Int#, Int# #) Источник
Вычитает знаковые целые числа и сообщает о переполнении. Первый элемент результата — разность, усечённая до Int#; второй элемент равен нулю, если точная разность помещается в Int#, и ненулевому значению при переполнении (разность слишком велика или слишком мала, чтобы поместиться в Int#).
subWord16# :: Word16# -> Word16# -> Word16# Источник
subWord32# :: Word32# -> Word32# -> Word32# Источник
subWord64# :: Word64# -> Word64# -> Word64# Источник
subWord8# :: Word8# -> Word8# -> Word8# Источник
subWordC# :: Word# -> Word# -> (# Word#, Int# #) Источник
Вычитает беззнаковые целые числа и сообщает о переполнении. Первый элемент пары — результат. Второй элемент — флаг переноса, который отличен от нуля при переполнении.
tagToEnum# :: Int# -> a Источник
takeMVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MVar# d a -> State# d -> (# State# d, a #) Источник
Если MVar# пуст, блокирует выполнение, пока он не заполнится. Затем извлекает и возвращает его содержимое, после чего оставляет его пустым.
tanDouble# :: Double# -> Double# Источник
tanFloat# :: Float# -> Float# Источник
tanhDouble# :: Double# -> Double# Источник
tanhFloat# :: Float# -> Float# Источник
thawArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. Array# a -> Int# -> Int# -> State# d -> (# State# d, MutableArray# d a #) Источник
Получив исходный массив, смещение в исходном массиве и число элементов для копирования, создаёт новый массив с элементами из исходного массива. Предоставленный массив должен полностью содержать указанный диапазон, однако это не проверяется.
thawSmallArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. SmallArray# a -> Int# -> Int# -> State# d -> (# State# d, SmallMutableArray# d a #) Источник
Получив исходный массив, смещение в исходном массиве и число элементов для копирования, создаёт новый массив с элементами из исходного массива. Предоставленный массив должен полностью содержать указанный диапазон, однако это не проверяется.
threadLabel# :: ThreadId# -> State# RealWorld -> (# State# RealWorld, Int#, ByteArray# #) Источник
Получает метку указанного потока. По смыслу имеет тип ThreadId# -> IO (Maybe ByteArray#), где тег 1# обозначает Just.
Начиная с: ghc-internal-0.10
threadStatus# :: ThreadId# -> State# RealWorld -> (# State# RealWorld, Int#, Int#, Int# #) Исходный код
Получить статус указанного потока. Результат — (ThreadStatus, Capability, Locked), где ThreadStatus — одна из констант статуса, определённых в rts/Constants.h, Capability — номер capability, которой в данный момент принадлежит поток, а Locked — логическое значение, указывающее, привязан ли поток к этой capability.
Начиная с: ghc-internal-0.9
timesDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2# Исходный код
Перемножить два вектора поэлементно.
timesDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4# Исходный код
Перемножить два вектора поэлементно.
timesDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8# Исходный код
Перемножить два вектора поэлементно.
timesFloat# :: Float# -> Float# -> Float# Исходный код
timesFloatX16# :: FloatX16# -> FloatX16# -> FloatX16# Исходный код
Перемножить два вектора поэлементно.
timesFloatX4# :: FloatX4# -> FloatX4# -> FloatX4# Исходный код
Перемножить два вектора поэлементно.
timesFloatX8# :: FloatX8# -> FloatX8# -> FloatX8# Исходный код
Перемножить два вектора поэлементно.
timesInt16# :: Int16# -> Int16# -> Int16# Исходный код
timesInt16X16# :: Int16X16# -> Int16X16# -> Int16X16# Исходный код
Перемножить два вектора поэлементно.
timesInt16X32# :: Int16X32# -> Int16X32# -> Int16X32# Исходный код
Перемножить два вектора поэлементно.
timesInt16X8# :: Int16X8# -> Int16X8# -> Int16X8# Исходный код
Перемножить два вектора поэлементно.
timesInt2# :: Int# -> Int# -> (# Int#, Int#, Int# #) Исходный код
Возвращает тройку (isHighNeeded,high,low), где high и low — соответственно старшие и младшие биты результата двойной разрядности. isHighNeeded — быстрый способ проверить, является ли старшее слово расширением знака младшего слова (isHighNeeded = 0#) или нет (isHighNeeded = 1#).
timesInt32# :: Int32# -> Int32# -> Int32# Исходный код
timesInt32X16# :: Int32X16# -> Int32X16# -> Int32X16# Исходный код
Перемножить два вектора поэлементно.
timesInt32X4# :: Int32X4# -> Int32X4# -> Int32X4# Исходный код
Перемножить два вектора поэлементно.
timesInt32X8# :: Int32X8# -> Int32X8# -> Int32X8# Исходный код
Перемножить два вектора поэлементно.
timesInt64# :: Int64# -> Int64# -> Int64# Исходный код
timesInt64X2# :: Int64X2# -> Int64X2# -> Int64X2# Исходный код
Перемножить два вектора поэлементно.
timesInt64X4# :: Int64X4# -> Int64X4# -> Int64X4# Исходный код
Перемножить два вектора поэлементно.
timesInt64X8# :: Int64X8# -> Int64X8# -> Int64X8# Исходный код
Перемножить два вектора поэлементно.
timesInt8# :: Int8# -> Int8# -> Int8# Исходный код
timesInt8X16# :: Int8X16# -> Int8X16# -> Int8X16# Исходный код
Перемножить два вектора поэлементно.
timesInt8X32# :: Int8X32# -> Int8X32# -> Int8X32# Исходный код
Перемножить два вектора поэлементно.
timesInt8X64# :: Int8X64# -> Int8X64# -> Int8X64# Исходный код
Перемножить два вектора поэлементно.
timesWord# :: Word# -> Word# -> Word# Исходный код
timesWord16# :: Word16# -> Word16# -> Word16# Исходный код
timesWord16X16# :: Word16X16# -> Word16X16# -> Word16X16# Исходный код
Перемножить два вектора поэлементно.
timesWord16X32# :: Word16X32# -> Word16X32# -> Word16X32# Исходный код
Перемножить два вектора поэлементно.
timesWord16X8# :: Word16X8# -> Word16X8# -> Word16X8# Исходный код
Перемножить два вектора поэлементно.
timesWord2# :: Word# -> Word# -> (# Word#, Word# #) Исходный код
timesWord32# :: Word32# -> Word32# -> Word32# Исходный код
timesWord32X16# :: Word32X16# -> Word32X16# -> Word32X16# Исходный код
Перемножить два вектора поэлементно.
timesWord32X4# :: Word32X4# -> Word32X4# -> Word32X4# Исходный код
Перемножить два вектора поэлементно.
timesWord32X8# :: Word32X8# -> Word32X8# -> Word32X8# Исходный код
Перемножить два вектора поэлементно.
timesWord64# :: Word64# -> Word64# -> Word64# Исходный код
timesWord64X2# :: Word64X2# -> Word64X2# -> Word64X2# Исходный код
Перемножить два вектора поэлементно.
timesWord64X4# :: Word64X4# -> Word64X4# -> Word64X4# Исходный код
Перемножить два вектора поэлементно.
timesWord64X8# :: Word64X8# -> Word64X8# -> Word64X8# Исходный код
Перемножить два вектора поэлементно.
timesWord8# :: Word8# -> Word8# -> Word8# Исходный код
timesWord8X16# :: Word8X16# -> Word8X16# -> Word8X16# Исходный код
Перемножить два вектора поэлементно.
timesWord8X32# :: Word8X32# -> Word8X32# -> Word8X32# Исходный код
Перемножить два вектора поэлементно.
timesWord8X64# :: Word8X64# -> Word8X64# -> Word8X64# Исходный код
Перемножить два вектора поэлементно.
touch# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. a -> State# d -> State# d Исходный код
traceBinaryEvent# :: Addr# -> Int# -> State# d -> State# d Исходный код
Генерирует событие с помощью инфраструктуры трассировки RTS. Содержимое события — двоичный объект, переданный первым аргументом, с указанной длиной, переданной вторым аргументом. Событие будет записано в файл .eventlog.
traceEvent# :: Addr# -> State# d -> State# d Исходный код
Генерирует событие с помощью инфраструктуры трассировки RTS. Содержимое события — строка байтов с нулевым завершением, переданная первым аргументом. В зависимости от флагов среды выполнения RTS событие будет записано либо в файл .eventlog, либо в stderr.
traceMarker# :: Addr# -> State# d -> State# d Исходный код
Генерирует событие-маркер с помощью инфраструктуры трассировки RTS. Содержимое события — строка байтов с нулевым завершением, переданная первым аргументом. В зависимости от флагов среды выполнения RTS событие будет записано либо в файл .eventlog, либо в stderr.
tryPutMVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MVar# d a -> a -> State# d -> (# State# d, Int# #) Исходный код
Если MVar# заполнена, немедленно возвращает целое число 0. В противном случае сохраняет значение arg как новое содержимое «MVar#» и возвращает целое число 1.
tryReadMVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MVar# d a -> State# d -> (# State# d, Int#, a #) Исходный код
Если MVar# пуста, немедленно возвращает целое число 0 и неопределённое значение. В противном случае возвращает целое число 1 и содержимое MVar#.
tryTakeMVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MVar# d a -> State# d -> (# State# d, Int#, a #) Исходный код
Если MVar# пуста, немедленно возвращает целое число 0 и неопределённое значение. В противном случае возвращает целое число 1 и содержимое MVar#, а также делает MVar# пустой.
uncheckedIShiftL# :: Int# -> Int# -> Int# Исходный код
Сдвиг влево. Результат не определён, если величина сдвига не входит в диапазон от 0 до размера машинного слова − 1 включительно.
uncheckedIShiftL64# :: Int64# -> Int# -> Int64# Исходный код
uncheckedIShiftRA# :: Int# -> Int# -> Int# Исходный код
Арифметический сдвиг вправо. Результат не определён, если величина сдвига не входит в диапазон от 0 до размера машинного слова − 1 включительно.
uncheckedIShiftRA64# :: Int64# -> Int# -> Int64# Исходный код
uncheckedIShiftRL# :: Int# -> Int# -> Int# Исходный код
Логический сдвиг вправо. Результат не определён, если величина сдвига не входит в диапазон от 0 до размера машинного слова − 1 включительно.
uncheckedIShiftRL64# :: Int64# -> Int# -> Int64# Исходный код
uncheckedShiftL# :: Word# -> Int# -> Word# Исходный код
Логический сдвиг влево. Результат не определён, если величина сдвига не входит в диапазон от 0 до размера машинного слова − 1 включительно.
uncheckedShiftL64# :: Word64# -> Int# -> Word64# Исходный код
uncheckedShiftLInt16# :: Int16# -> Int# -> Int16# Исходный код
uncheckedShiftLInt32# :: Int32# -> Int# -> Int32# Исходный код
uncheckedShiftLInt8# :: Int8# -> Int# -> Int8# Исходный код
uncheckedShiftLWord16# :: Word16# -> Int# -> Word16# Исходный код
uncheckedShiftLWord32# :: Word32# -> Int# -> Word32# Исходный код
uncheckedShiftLWord8# :: Word8# -> Int# -> Word8# Исходный код
uncheckedShiftRAInt16# :: Int16# -> Int# -> Int16# Исходный код
uncheckedShiftRAInt32# :: Int32# -> Int# -> Int32# Исходный код
uncheckedShiftRAInt8# :: Int8# -> Int# -> Int8# Исходный код
uncheckedShiftRL# :: Word# -> Int# -> Word# Исходный код
Логический сдвиг вправо. Результат не определён, если величина сдвига не входит в диапазон от 0 до размера машинного слова минус 1 включительно.
uncheckedShiftRL64# :: Word64# -> Int# -> Word64# Исходный код
uncheckedShiftRLInt16# :: Int16# -> Int# -> Int16# Исходный код
uncheckedShiftRLInt32# :: Int32# -> Int# -> Int32# Исходный код
uncheckedShiftRLInt8# :: Int8# -> Int# -> Int8# Исходный код
uncheckedShiftRLWord16# :: Word16# -> Int# -> Word16# Исходный код
uncheckedShiftRLWord32# :: Word32# -> Int# -> Word32# Исходный код
uncheckedShiftRLWord8# :: Word8# -> Int# -> Word8# Исходный код
unmaskAsyncExceptions# :: (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #) Исходный код
unmaskAsyncUninterruptible# k s вычисляет k s таким образом, что асинхронные исключения разблокированы.
Обратите внимание, что тип результата здесь не настолько неограничен, как может показаться по полиморфному типу; подробности см. в разделе «Полиморфизм RuntimeRep в примитивах со стилем продолжения».
unpackClosure# :: a -> (# Addr#, ByteArray#, Array# b #) Исходный код
unpackClosure# closure копирует замыкание и указатели в полезной нагрузке заданного замыкания в два новых массива и возвращает указатель на первое слово информационной таблицы замыкания, массив без указателей для необработанных байтов замыкания и массив указателей для указателей в полезной нагрузке.
unpackDoubleX2# :: DoubleX2# -> (# Double#, Double# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackDoubleX4# :: DoubleX4# -> (# Double#, Double#, Double#, Double# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackDoubleX8# :: DoubleX8# -> (# Double#, Double#, Double#, Double#, Double#, Double#, Double#, Double# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackFloatX16# :: FloatX16# -> (# Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackFloatX4# :: FloatX4# -> (# Float#, Float#, Float#, Float# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackFloatX8# :: FloatX8# -> (# Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackInt16X16# :: Int16X16# -> (# Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackInt16X32# :: Int16X32# -> (# Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackInt16X8# :: Int16X8# -> (# Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16#, Int16# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackInt32X16# :: Int32X16# -> (# Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackInt32X4# :: Int32X4# -> (# Int32#, Int32#, Int32#, Int32# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackInt32X8# :: Int32X8# -> (# Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32#, Int32# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackInt64X2# :: Int64X2# -> (# Int64#, Int64# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackInt64X4# :: Int64X4# -> (# Int64#, Int64#, Int64#, Int64# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackInt64X8# :: Int64X8# -> (# Int64#, Int64#, Int64#, Int64#, Int64#, Int64#, Int64#, Int64# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackInt8X16# :: Int8X16# -> (# Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackInt8X32# :: Int8X32# -> (# Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackInt8X64# :: Int8X64# -> (# Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8#, Int8# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackWord16X16# :: Word16X16# -> (# Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16# #) Исходный код
Распаковывает элементы вектора в распакованный кортеж.
unpackWord16X32# :: Word16X32# -> (# Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16# #) Исходный код
Распаковывает элементы вектора в неупакованный кортеж.
unpackWord16X8# :: Word16X8# -> (# Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16#, Word16# #) Исходный код
Распаковывает элементы вектора в неупакованный кортеж.
unpackWord32X16# :: Word32X16# -> (# Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32# #) Исходный код
Распаковывает элементы вектора в неупакованный кортеж.
unpackWord32X4# :: Word32X4# -> (# Word32#, Word32#, Word32#, Word32# #) Исходный код
Распаковывает элементы вектора в неупакованный кортеж.
unpackWord32X8# :: Word32X8# -> (# Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32#, Word32# #) Исходный код
Распаковывает элементы вектора в неупакованный кортеж.
unpackWord64X2# :: Word64X2# -> (# Word64#, Word64# #) Исходный код
Распаковывает элементы вектора в неупакованный кортеж.
unpackWord64X4# :: Word64X4# -> (# Word64#, Word64#, Word64#, Word64# #) Исходный код
Распаковывает элементы вектора в неупакованный кортеж.
unpackWord64X8# :: Word64X8# -> (# Word64#, Word64#, Word64#, Word64#, Word64#, Word64#, Word64#, Word64# #) Исходный код
Распаковывает элементы вектора в неупакованный кортеж.
unpackWord8X16# :: Word8X16# -> (# Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8# #) Исходный код
Распаковывает элементы вектора в неупакованный кортеж.
unpackWord8X32# :: Word8X32# -> (# Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8# #) Исходный код
Распаковывает элементы вектора в неупакованный кортеж.
unpackWord8X64# :: Word8X64# -> (# Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8#, Word8# #) Исходный код
Распаковывает элементы вектора в неупакованный кортеж.
unsafeFreezeArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutableArray# d a -> State# d -> (# State# d, Array# a #) Исходный код
Преобразует изменяемый массив в неизменяемый без копирования.
unsafeFreezeByteArray# :: MutableByteArray# d -> State# d -> (# State# d, ByteArray# #) Исходный код
Преобразует изменяемый массив байтов в неизменяемый без копирования.
unsafeFreezeSmallArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> State# d -> (# State# d, SmallArray# a #) Исходный код
Преобразует изменяемый массив в неизменяемый без копирования.
unsafeThawArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. Array# a -> State# d -> (# State# d, MutableArray# d a #) Исходный код
Преобразует неизменяемый массив в изменяемый без копирования.
unsafeThawByteArray# :: ByteArray# -> State# d -> (# State# d, MutableByteArray# d #) Исходный код
Преобразует неизменяемый массив байтов в изменяемый без копирования.
Начиная с версии: ghc-internal-0.12.0.0
unsafeThawSmallArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. SmallArray# a -> State# d -> (# State# d, SmallMutableArray# d a #) Исходный код
Преобразует неизменяемый массив в изменяемый без копирования.
void# :: (# #) Исходный код
Устарело: используйте вместо этого неупакованный кортеж из единицы
Это псевдоним конструктора неупакованного кортежа из единицы. В более ранних версиях GHC void# было значением примитивного типа Void#, который теперь определён как (# #).
waitRead# :: Int# -> State# d -> State# d Исходный код
Блокирует выполнение, пока на указанном файловом дескрипторе не станут доступны данные для чтения.
waitWrite# :: Int# -> State# d -> State# d Исходный код
Блокирует выполнение, пока на указанном файловом дескрипторе не станет возможна запись.
word16ToInt16# :: Word16# -> Int16# Исходный код
word16ToWord# :: Word16# -> Word# Исходный код
word2Double# :: Word# -> Double# Исходный код
Преобразует Word# в соответствующее Double# с тем же целочисленным значением (с возможным усечением из-за точности чисел с плавающей точкой). Например, word2Double# 1## == 1.0##
word2Float# :: Word# -> Float# Исходный код
Преобразует Word# в соответствующее Float# с тем же целочисленным значением (с возможным усечением из-за точности чисел с плавающей точкой). Например, word2Float# 1## == 1.0#
word2Int# :: Word# -> Int# Исходный код
word32ToInt32# :: Word32# -> Int32# Исходный код
word32ToWord# :: Word32# -> Word# Исходный код
word64ToInt64# :: Word64# -> Int64# Исходный код
word64ToWord# :: Word64# -> Word# Исходный код
word8ToInt8# :: Word8# -> Int8# Исходный код
word8ToWord# :: Word8# -> Word# Исходный код
wordToWord16# :: Word# -> Word16# Исходный код
wordToWord32# :: Word# -> Word32# Исходный код
wordToWord64# :: Word# -> Word64# Исходный код
wordToWord8# :: Word# -> Word8# Исходный код
writeAddrArray# :: MutableByteArray# d -> Int# -> Addr# -> State# d -> State# d Исходный код
Записывает машинный адрес в изменяемый массив; смещение задаётся в машинных словах.
writeAddrOffAddr# :: Addr# -> Int# -> Addr# -> State# d -> State# d Исходный код
Записывает машинный адрес по изменяемому адресу; смещение задаётся в машинных словах.
На некоторых платформах операция может завершиться с ошибкой, если Addr# выровнен недостаточно.
writeArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutableArray# d a -> Int# -> a -> State# d -> State# d Исходный код
Записывает значение в указанный индекс изменяемого массива.
writeCharArray# :: MutableByteArray# d -> Int# -> Char# -> State# d -> State# d Исходный код
Записывает 8-битный символ в изменяемый массив; смещение задаётся в байтах.
writeCharOffAddr# :: Addr# -> Int# -> Char# -> State# d -> State# d Исходный код
Записывает 8-битный символ по изменяемому адресу; смещение задаётся в байтах.
writeDoubleArray# :: MutableByteArray# d -> Int# -> Double# -> State# d -> State# d Источник
Записывает значение числа с плавающей точкой двойной точности в изменяемый массив; смещение задаётся в 8-байтовых словах.
writeDoubleArrayAsDoubleX2# :: MutableByteArray# d -> Int# -> DoubleX2# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeDoubleArrayAsDoubleX4# :: MutableByteArray# d -> Int# -> DoubleX4# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeDoubleArrayAsDoubleX8# :: MutableByteArray# d -> Int# -> DoubleX8# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeDoubleOffAddr# :: Addr# -> Int# -> Double# -> State# d -> State# d Источник
Записывает значение числа с плавающей точкой двойной точности по изменяемому адресу; смещение задаётся в 8-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
writeDoubleOffAddrAsDoubleX2# :: Addr# -> Int# -> DoubleX2# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в скалярных элементах.
writeDoubleOffAddrAsDoubleX4# :: Addr# -> Int# -> DoubleX4# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в скалярных элементах.
writeDoubleOffAddrAsDoubleX8# :: Addr# -> Int# -> DoubleX8# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в скалярных элементах.
writeDoubleX2Array# :: MutableByteArray# d -> Int# -> DoubleX2# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeDoubleX2OffAddr# :: Addr# -> Int# -> DoubleX2# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeDoubleX4Array# :: MutableByteArray# d -> Int# -> DoubleX4# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeDoubleX4OffAddr# :: Addr# -> Int# -> DoubleX4# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeDoubleX8Array# :: MutableByteArray# d -> Int# -> DoubleX8# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeDoubleX8OffAddr# :: Addr# -> Int# -> DoubleX8# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeFloatArray# :: MutableByteArray# d -> Int# -> Float# -> State# d -> State# d Источник
Записывает значение числа с плавающей точкой одинарной точности в изменяемый массив; смещение задаётся в 4-байтовых словах.
writeFloatArrayAsFloatX16# :: MutableByteArray# d -> Int# -> FloatX16# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeFloatArrayAsFloatX4# :: MutableByteArray# d -> Int# -> FloatX4# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeFloatArrayAsFloatX8# :: MutableByteArray# d -> Int# -> FloatX8# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeFloatOffAddr# :: Addr# -> Int# -> Float# -> State# d -> State# d Источник
Записывает значение числа с плавающей точкой одинарной точности по изменяемому адресу; смещение задаётся в 4-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
writeFloatOffAddrAsFloatX16# :: Addr# -> Int# -> FloatX16# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в скалярных элементах.
writeFloatOffAddrAsFloatX4# :: Addr# -> Int# -> FloatX4# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в скалярных элементах.
writeFloatOffAddrAsFloatX8# :: Addr# -> Int# -> FloatX8# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в скалярных элементах.
writeFloatX16Array# :: MutableByteArray# d -> Int# -> FloatX16# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeFloatX16OffAddr# :: Addr# -> Int# -> FloatX16# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeFloatX4Array# :: MutableByteArray# d -> Int# -> FloatX4# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeFloatX4OffAddr# :: Addr# -> Int# -> FloatX4# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeFloatX8Array# :: MutableByteArray# d -> Int# -> FloatX8# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeFloatX8OffAddr# :: Addr# -> Int# -> FloatX8# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt16Array# :: MutableByteArray# d -> Int# -> Int16# -> State# d -> State# d Источник
Записывает 16-разрядное целое число со знаком в изменяемый массив; смещение задаётся в 2-байтовых словах.
writeInt16ArrayAsInt16X16# :: MutableByteArray# d -> Int# -> Int16X16# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeInt16ArrayAsInt16X32# :: MutableByteArray# d -> Int# -> Int16X32# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeInt16ArrayAsInt16X8# :: MutableByteArray# d -> Int# -> Int16X8# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeInt16OffAddr# :: Addr# -> Int# -> Int16# -> State# d -> State# d Источник
Записывает 16-разрядное целое число со знаком по изменяемому адресу; смещение задаётся в 2-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
writeInt16OffAddrAsInt16X16# :: Addr# -> Int# -> Int16X16# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в скалярных элементах.
writeInt16OffAddrAsInt16X32# :: Addr# -> Int# -> Int16X32# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в скалярных элементах.
writeInt16OffAddrAsInt16X8# :: Addr# -> Int# -> Int16X8# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в скалярных элементах.
writeInt16X16Array# :: MutableByteArray# d -> Int# -> Int16X16# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt16X16OffAddr# :: Addr# -> Int# -> Int16X16# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt16X32Array# :: MutableByteArray# d -> Int# -> Int16X32# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt16X32OffAddr# :: Addr# -> Int# -> Int16X32# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt16X8Array# :: MutableByteArray# d -> Int# -> Int16X8# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt16X8OffAddr# :: Addr# -> Int# -> Int16X8# -> State# d -> State# d Источник
Записывает вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt32Array# :: MutableByteArray# d -> Int# -> Int32# -> State# d -> State# d Источник
Записывает 32-разрядное целое число со знаком в изменяемый массив; смещение задаётся в 4-байтовых словах.
writeInt32ArrayAsInt32X16# :: MutableByteArray# d -> Int# -> Int32X16# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeInt32ArrayAsInt32X4# :: MutableByteArray# d -> Int# -> Int32X4# -> State# d -> State# d Источник
Записывает вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeInt32ArrayAsInt32X8# :: MutableByteArray# d -> Int# -> Int32X8# -> State# d -> State# d Исходный код
Записать вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeInt32OffAddr# :: Addr# -> Int# -> Int32# -> State# d -> State# d Исходный код
Записать 32-битное знаковое целое число по изменяемому адресу; смещение задаётся в 4-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
writeInt32OffAddrAsInt32X16# :: Addr# -> Int# -> Int32X16# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в скалярных элементах.
writeInt32OffAddrAsInt32X4# :: Addr# -> Int# -> Int32X4# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в скалярных элементах.
writeInt32OffAddrAsInt32X8# :: Addr# -> Int# -> Int32X8# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в скалярных элементах.
writeInt32X16Array# :: MutableByteArray# d -> Int# -> Int32X16# -> State# d -> State# d Исходный код
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt32X16OffAddr# :: Addr# -> Int# -> Int32X16# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt32X4Array# :: MutableByteArray# d -> Int# -> Int32X4# -> State# d -> State# d Исходный код
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt32X4OffAddr# :: Addr# -> Int# -> Int32X4# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt32X8Array# :: MutableByteArray# d -> Int# -> Int32X8# -> State# d -> State# d Исходный код
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt32X8OffAddr# :: Addr# -> Int# -> Int32X8# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt64Array# :: MutableByteArray# d -> Int# -> Int64# -> State# d -> State# d Исходный код
Записать 64-битное знаковое целое число в изменяемый массив; смещение задаётся в 8-байтовых словах.
writeInt64ArrayAsInt64X2# :: MutableByteArray# d -> Int# -> Int64X2# -> State# d -> State# d Исходный код
Записать вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeInt64ArrayAsInt64X4# :: MutableByteArray# d -> Int# -> Int64X4# -> State# d -> State# d Исходный код
Записать вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeInt64ArrayAsInt64X8# :: MutableByteArray# d -> Int# -> Int64X8# -> State# d -> State# d Исходный код
Записать вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeInt64OffAddr# :: Addr# -> Int# -> Int64# -> State# d -> State# d Исходный код
Записать 64-битное знаковое целое число по изменяемому адресу; смещение задаётся в 8-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
writeInt64OffAddrAsInt64X2# :: Addr# -> Int# -> Int64X2# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в скалярных элементах.
writeInt64OffAddrAsInt64X4# :: Addr# -> Int# -> Int64X4# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в скалярных элементах.
writeInt64OffAddrAsInt64X8# :: Addr# -> Int# -> Int64X8# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в скалярных элементах.
writeInt64X2Array# :: MutableByteArray# d -> Int# -> Int64X2# -> State# d -> State# d Исходный код
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt64X2OffAddr# :: Addr# -> Int# -> Int64X2# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt64X4Array# :: MutableByteArray# d -> Int# -> Int64X4# -> State# d -> State# d Исходный код
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt64X4OffAddr# :: Addr# -> Int# -> Int64X4# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt64X8Array# :: MutableByteArray# d -> Int# -> Int64X8# -> State# d -> State# d Исходный код
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt64X8OffAddr# :: Addr# -> Int# -> Int64X8# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt8Array# :: MutableByteArray# d -> Int# -> Int8# -> State# d -> State# d Исходный код
Записать 8-битное знаковое целое число в изменяемый массив; смещение задаётся в байтах.
writeInt8ArrayAsInt8X16# :: MutableByteArray# d -> Int# -> Int8X16# -> State# d -> State# d Исходный код
Записать вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeInt8ArrayAsInt8X32# :: MutableByteArray# d -> Int# -> Int8X32# -> State# d -> State# d Исходный код
Записать вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeInt8ArrayAsInt8X64# :: MutableByteArray# d -> Int# -> Int8X64# -> State# d -> State# d Исходный код
Записать вектор по указанному индексу изменяемого массива скалярных значений; смещение задаётся в скалярных элементах.
writeInt8OffAddr# :: Addr# -> Int# -> Int8# -> State# d -> State# d Исходный код
Записать 8-битное знаковое целое число по изменяемому адресу; смещение задаётся в байтах.
writeInt8OffAddrAsInt8X16# :: Addr# -> Int# -> Int8X16# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в скалярных элементах.
writeInt8OffAddrAsInt8X32# :: Addr# -> Int# -> Int8X32# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в скалярных элементах.
writeInt8OffAddrAsInt8X64# :: Addr# -> Int# -> Int8X64# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в скалярных элементах.
writeInt8X16Array# :: MutableByteArray# d -> Int# -> Int8X16# -> State# d -> State# d Исходный код
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt8X16OffAddr# :: Addr# -> Int# -> Int8X16# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt8X32Array# :: MutableByteArray# d -> Int# -> Int8X32# -> State# d -> State# d Исходный код
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt8X32OffAddr# :: Addr# -> Int# -> Int8X32# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt8X64Array# :: MutableByteArray# d -> Int# -> Int8X64# -> State# d -> State# d Исходный код
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeInt8X64OffAddr# :: Addr# -> Int# -> Int8X64# -> State# d -> State# d Исходный код
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Исходный код
Записать целое число размером со слово в изменяемый массив; смещение задаётся в машинных словах.
writeIntOffAddr# :: Addr# -> Int# -> Int# -> State# d -> State# d Исходный код
Записать целое число размером со слово по изменяемому адресу; смещение задаётся в машинных словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
writeMutVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutVar# d a -> a -> State# d -> State# d Исходный код
Записать содержимое MutVar#.
writeSmallArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> Int# -> a -> State# d -> State# d Исходный код
Записать значение по указанному индексу изменяемого массива.
writeStablePtrArray# :: MutableByteArray# d -> Int# -> StablePtr# a -> State# d -> State# d Исходный код
Записать значение StablePtr# в изменяемый массив; смещение задаётся в машинных словах.
writeStablePtrOffAddr# :: Addr# -> Int# -> StablePtr# a -> State# d -> State# d Исходный код
Записать значение StablePtr# по изменяемому адресу; смещение задаётся в машинных словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
writeTVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). TVar# d a -> a -> State# d -> State# d Источник
Записать содержимое TVar#.
writeWideCharArray# :: MutableByteArray# d -> Int# -> Char# -> State# d -> State# d Источник
Записать 32-битный символ в изменяемый массив; смещение задаётся в 4-байтовых словах.
writeWideCharOffAddr# :: Addr# -> Int# -> Char# -> State# d -> State# d Источник
Записать 32-битный символ по изменяемому адресу; смещение задаётся в 4-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
writeWord16Array# :: MutableByteArray# d -> Int# -> Word16# -> State# d -> State# d Источник
Записать 16-битное беззнаковое целое число в изменяемый массив; смещение задаётся в 2-байтовых словах.
writeWord16ArrayAsWord16X16# :: MutableByteArray# d -> Int# -> Word16X16# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
writeWord16ArrayAsWord16X32# :: MutableByteArray# d -> Int# -> Word16X32# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
writeWord16ArrayAsWord16X8# :: MutableByteArray# d -> Int# -> Word16X8# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
writeWord16OffAddr# :: Addr# -> Int# -> Word16# -> State# d -> State# d Источник
Записать 16-битное беззнаковое целое число по изменяемому адресу; смещение задаётся в 2-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
writeWord16OffAddrAsWord16X16# :: Addr# -> Int# -> Word16X16# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в скалярных элементах.
writeWord16OffAddrAsWord16X32# :: Addr# -> Int# -> Word16X32# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в скалярных элементах.
writeWord16OffAddrAsWord16X8# :: Addr# -> Int# -> Word16X8# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в скалярных элементах.
writeWord16X16Array# :: MutableByteArray# d -> Int# -> Word16X16# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord16X16OffAddr# :: Addr# -> Int# -> Word16X16# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord16X32Array# :: MutableByteArray# d -> Int# -> Word16X32# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord16X32OffAddr# :: Addr# -> Int# -> Word16X32# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord16X8Array# :: MutableByteArray# d -> Int# -> Word16X8# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord16X8OffAddr# :: Addr# -> Int# -> Word16X8# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord32Array# :: MutableByteArray# d -> Int# -> Word32# -> State# d -> State# d Источник
Записать 32-битное беззнаковое целое число в изменяемый массив; смещение задаётся в 4-байтовых словах.
writeWord32ArrayAsWord32X16# :: MutableByteArray# d -> Int# -> Word32X16# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
writeWord32ArrayAsWord32X4# :: MutableByteArray# d -> Int# -> Word32X4# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
writeWord32ArrayAsWord32X8# :: MutableByteArray# d -> Int# -> Word32X8# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
writeWord32OffAddr# :: Addr# -> Int# -> Word32# -> State# d -> State# d Источник
Записать 32-битное беззнаковое целое число по изменяемому адресу; смещение задаётся в 4-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
writeWord32OffAddrAsWord32X16# :: Addr# -> Int# -> Word32X16# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в скалярных элементах.
writeWord32OffAddrAsWord32X4# :: Addr# -> Int# -> Word32X4# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в скалярных элементах.
writeWord32OffAddrAsWord32X8# :: Addr# -> Int# -> Word32X8# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в скалярных элементах.
writeWord32X16Array# :: MutableByteArray# d -> Int# -> Word32X16# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord32X16OffAddr# :: Addr# -> Int# -> Word32X16# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord32X4Array# :: MutableByteArray# d -> Int# -> Word32X4# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord32X4OffAddr# :: Addr# -> Int# -> Word32X4# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord32X8Array# :: MutableByteArray# d -> Int# -> Word32X8# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord32X8OffAddr# :: Addr# -> Int# -> Word32X8# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord64Array# :: MutableByteArray# d -> Int# -> Word64# -> State# d -> State# d Источник
Записать 64-битное беззнаковое целое число в изменяемый массив; смещение задаётся в 8-байтовых словах.
writeWord64ArrayAsWord64X2# :: MutableByteArray# d -> Int# -> Word64X2# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
writeWord64ArrayAsWord64X4# :: MutableByteArray# d -> Int# -> Word64X4# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
writeWord64ArrayAsWord64X8# :: MutableByteArray# d -> Int# -> Word64X8# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
writeWord64OffAddr# :: Addr# -> Int# -> Word64# -> State# d -> State# d Источник
Записать 64-битное беззнаковое целое число по изменяемому адресу; смещение задаётся в 8-байтовых словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
writeWord64OffAddrAsWord64X2# :: Addr# -> Int# -> Word64X2# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в скалярных элементах.
writeWord64OffAddrAsWord64X4# :: Addr# -> Int# -> Word64X4# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в скалярных элементах.
writeWord64OffAddrAsWord64X8# :: Addr# -> Int# -> Word64X8# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в скалярных элементах.
writeWord64X2Array# :: MutableByteArray# d -> Int# -> Word64X2# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord64X2OffAddr# :: Addr# -> Int# -> Word64X2# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord64X4Array# :: MutableByteArray# d -> Int# -> Word64X4# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord64X4OffAddr# :: Addr# -> Int# -> Word64X4# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord64X8Array# :: MutableByteArray# d -> Int# -> Word64X8# -> State# d -> State# d Источник
Записать вектор по указанному индексу изменяемого массива. Индекс задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord64X8OffAddr# :: Addr# -> Int# -> Word64X8# -> State# d -> State# d Источник
Записать вектор; смещение задаётся в единицах SIMD-векторов (а не скалярных элементов).
writeWord8Array# :: MutableByteArray# d -> Int# -> Word8# -> State# d -> State# d Исходный код
Записывает 8-битное беззнаковое целое число в изменяемый массив; смещение указано в байтах.
writeWord8ArrayAsAddr# :: MutableByteArray# d -> Int# -> Addr# -> State# d -> State# d Исходный код
Записывает машинный адрес в изменяемый массив; смещение указано в байтах.
writeWord8ArrayAsChar# :: MutableByteArray# d -> Int# -> Char# -> State# d -> State# d Исходный код
Записывает 8-битный символ в изменяемый массив; смещение указано в байтах.
writeWord8ArrayAsDouble# :: MutableByteArray# d -> Int# -> Double# -> State# d -> State# d Исходный код
Записывает число с плавающей точкой двойной точности в изменяемый массив; смещение указано в байтах.
writeWord8ArrayAsFloat# :: MutableByteArray# d -> Int# -> Float# -> State# d -> State# d Исходный код
Записывает число с плавающей точкой одинарной точности в изменяемый массив; смещение указано в байтах.
writeWord8ArrayAsInt# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Исходный код
Записывает целое число машинной разрядности в изменяемый массив; смещение указано в байтах.
writeWord8ArrayAsInt16# :: MutableByteArray# d -> Int# -> Int16# -> State# d -> State# d Исходный код
Записывает 16-битное знаковое целое число в изменяемый массив; смещение указано в байтах.
writeWord8ArrayAsInt32# :: MutableByteArray# d -> Int# -> Int32# -> State# d -> State# d Исходный код
Записывает 32-битное знаковое целое число в изменяемый массив; смещение указано в байтах.
writeWord8ArrayAsInt64# :: MutableByteArray# d -> Int# -> Int64# -> State# d -> State# d Исходный код
Записывает 64-битное знаковое целое число в изменяемый массив; смещение указано в байтах.
writeWord8ArrayAsStablePtr# :: MutableByteArray# d -> Int# -> StablePtr# a -> State# d -> State# d Исходный код
Записывает значение StablePtr# в изменяемый массив; смещение указано в байтах.
writeWord8ArrayAsWideChar# :: MutableByteArray# d -> Int# -> Char# -> State# d -> State# d Исходный код
Записывает 32-битный символ в изменяемый массив; смещение указано в байтах.
writeWord8ArrayAsWord# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d Исходный код
Записывает беззнаковое целое число машинной разрядности в изменяемый массив; смещение указано в байтах.
writeWord8ArrayAsWord16# :: MutableByteArray# d -> Int# -> Word16# -> State# d -> State# d Исходный код
Записывает 16-битное беззнаковое целое число в изменяемый массив; смещение указано в байтах.
writeWord8ArrayAsWord32# :: MutableByteArray# d -> Int# -> Word32# -> State# d -> State# d Исходный код
Записывает 32-битное беззнаковое целое число в изменяемый массив; смещение указано в байтах.
writeWord8ArrayAsWord64# :: MutableByteArray# d -> Int# -> Word64# -> State# d -> State# d Исходный код
Записывает 64-битное беззнаковое целое число в изменяемый массив; смещение указано в байтах.
writeWord8ArrayAsWord8X16# :: MutableByteArray# d -> Int# -> Word8X16# -> State# d -> State# d Исходный код
Записывает вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
writeWord8ArrayAsWord8X32# :: MutableByteArray# d -> Int# -> Word8X32# -> State# d -> State# d Исходный код
Записывает вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
writeWord8ArrayAsWord8X64# :: MutableByteArray# d -> Int# -> Word8X64# -> State# d -> State# d Исходный код
Записывает вектор по указанному индексу изменяемого массива скалярных элементов; смещение задаётся в скалярных элементах.
writeWord8OffAddr# :: Addr# -> Int# -> Word8# -> State# d -> State# d Исходный код
Записывает 8-битное беззнаковое целое число по изменяемому адресу; смещение указано в байтах.
writeWord8OffAddrAsAddr# :: Addr# -> Int# -> Addr# -> State# d -> State# d Исходный код
Записывает машинный адрес по изменяемому адресу; смещение указано в байтах.
writeWord8OffAddrAsChar# :: Addr# -> Int# -> Char# -> State# d -> State# d Исходный код
Записывает 8-битный символ по изменяемому адресу; смещение указано в байтах.
writeWord8OffAddrAsDouble# :: Addr# -> Int# -> Double# -> State# d -> State# d Исходный код
Записывает число с плавающей точкой двойной точности по изменяемому адресу; смещение указано в байтах.
writeWord8OffAddrAsFloat# :: Addr# -> Int# -> Float# -> State# d -> State# d Исходный код
Записывает число с плавающей точкой одинарной точности по изменяемому адресу; смещение указано в байтах.
writeWord8OffAddrAsInt# :: Addr# -> Int# -> Int# -> State# d -> State# d Исходный код
Записывает целое число машинной разрядности по изменяемому адресу; смещение указано в байтах.
writeWord8OffAddrAsInt16# :: Addr# -> Int# -> Int16# -> State# d -> State# d Исходный код
Записывает 16-битное знаковое целое число по изменяемому адресу; смещение указано в байтах.
writeWord8OffAddrAsInt32# :: Addr# -> Int# -> Int32# -> State# d -> State# d Исходный код
Записывает 32-битное знаковое целое число по изменяемому адресу; смещение указано в байтах.
writeWord8OffAddrAsInt64# :: Addr# -> Int# -> Int64# -> State# d -> State# d Исходный код
Записывает 64-битное знаковое целое число по изменяемому адресу; смещение указано в байтах.
writeWord8OffAddrAsStablePtr# :: Addr# -> Int# -> StablePtr# a -> State# d -> State# d Исходный код
Записывает значение StablePtr# по изменяемому адресу; смещение указано в байтах.
writeWord8OffAddrAsWideChar# :: Addr# -> Int# -> Char# -> State# d -> State# d Исходный код
Записывает 32-битный символ по изменяемому адресу; смещение указано в байтах.
writeWord8OffAddrAsWord# :: Addr# -> Int# -> Word# -> State# d -> State# d Исходный код
Записывает беззнаковое целое число машинной разрядности по изменяемому адресу; смещение указано в байтах.
writeWord8OffAddrAsWord16# :: Addr# -> Int# -> Word16# -> State# d -> State# d Исходный код
Записывает 16-битное беззнаковое целое число по изменяемому адресу; смещение указано в байтах.
writeWord8OffAddrAsWord32# :: Addr# -> Int# -> Word32# -> State# d -> State# d Исходный код
Записывает 32-битное беззнаковое целое число по изменяемому адресу; смещение указано в байтах.
writeWord8OffAddrAsWord64# :: Addr# -> Int# -> Word64# -> State# d -> State# d Исходный код
Записывает 64-битное беззнаковое целое число по изменяемому адресу; смещение указано в байтах.
writeWord8OffAddrAsWord8X16# :: Addr# -> Int# -> Word8X16# -> State# d -> State# d Исходный код
Записывает вектор; смещение задаётся в скалярных элементах.
writeWord8OffAddrAsWord8X32# :: Addr# -> Int# -> Word8X32# -> State# d -> State# d Исходный код
Записывает вектор; смещение задаётся в скалярных элементах.
writeWord8OffAddrAsWord8X64# :: Addr# -> Int# -> Word8X64# -> State# d -> State# d Исходный код
Записывает вектор; смещение задаётся в скалярных элементах.
writeWord8X16Array# :: MutableByteArray# d -> Int# -> Word8X16# -> State# d -> State# d Исходный код
Записывает вектор по указанному индексу изменяемого массива. Индекс отсчитывается в единицах SIMD-векторов (не скалярных элементов).
writeWord8X16OffAddr# :: Addr# -> Int# -> Word8X16# -> State# d -> State# d Исходный код
Записывает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
writeWord8X32Array# :: MutableByteArray# d -> Int# -> Word8X32# -> State# d -> State# d Исходный код
Записывает вектор по указанному индексу изменяемого массива. Индекс отсчитывается в единицах SIMD-векторов (не скалярных элементов).
writeWord8X32OffAddr# :: Addr# -> Int# -> Word8X32# -> State# d -> State# d Исходный код
Записывает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
writeWord8X64Array# :: MutableByteArray# d -> Int# -> Word8X64# -> State# d -> State# d Исходный код
Записывает вектор по указанному индексу изменяемого массива. Индекс отсчитывается в единицах SIMD-векторов (не скалярных элементов).
writeWord8X64OffAddr# :: Addr# -> Int# -> Word8X64# -> State# d -> State# d Исходный код
Записывает вектор; смещение задаётся в единицах SIMD-векторов (не скалярных элементов).
writeWordArray# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d Исходный код
Записывает беззнаковое целое число машинной разрядности в изменяемый массив; смещение указано в машинных словах.
writeWordOffAddr# :: Addr# -> Int# -> Word# -> State# d -> State# d Исходный код
Записывает беззнаковое целое число машинной разрядности по изменяемому адресу; смещение указано в машинных словах.
На некоторых платформах доступ может завершиться ошибкой, если Addr# выровнен недостаточно.
xor# :: Word# -> Word# -> Word# Исходный код
xor64# :: Word64# -> Word64# -> Word64# Исходный код
xorI# :: Int# -> Int# -> Int# Исходный код
Побитовое исключающее ИЛИ («xor»).
xorWord16# :: Word16# -> Word16# -> Word16# Исходный код
xorWord32# :: Word32# -> Word32# -> Word32# Источник
xorWord8# :: Word8# -> Word8# -> Word8# Источник
yield# :: State# RealWorld -> State# RealWorld Источник
data Addr# :: TYPE 'AddrRep Источник
Произвольный машинный адрес, который, как предполагается, указывает за пределы кучи, собираемой сборщиком мусора.
Экземпляры
data Array# (a :: TYPE ('BoxedRep l)) :: UnliftedType Источник
Примитивный тип байт-кода.
data ByteArray# :: UnliftedType Источник
Упакованный невозвышенный тип данных, представляющий область необработанной памяти в куче, собираемой сборщиком мусора; указатели в этой области не просматриваются при сборке мусора.
Он создаётся замораживанием MutableByteArray# с помощью unsafeFreezeByteArray#. Замораживание по существу ничего не меняет, поскольку MutableByteArray# и ByteArray# внутри используют одну и ту же структуру кучи.
Неизменяемый и изменяемый варианты обычно используются в сценариях, требующих высокопроизводительных структур данных, таких как Text, Primitive Vector, Unboxed Array и ShortByteString.
Другое исключительно важное применение — Integer, основанное на ByteArray#.
Представление Byte Array в куче:
+------------+-----------------+-----------------------+ | | | | | HEADER | SIZE (in bytes) | PAYLOAD | | | | | +------------+-----------------+-----------------------+
Чтобы получить указатель на фактическую полезную нагрузку (например, для целей FFI), используйте byteArrayContents# или mutableByteArrayContents#.
Также можно включить расширение UnliftedFFITypes, чтобы напрямую указывать ByteArray# и MutableByteArray# в сигнатурах типов FFI.
data CONSTRAINT (a :: RuntimeRep) Источник
data Char# :: TYPE 'WordRep Источник
Экземпляры
data Compact# :: UnliftedType Источник
data Double# :: TYPE 'DoubleRep Источник
Экземпляры
data DoubleX2# :: TYPE ('VecRep 'Vec2 'DoubleElemRep) Источник
data DoubleX4# :: TYPE ('VecRep 'Vec4 'DoubleElemRep) Источник
data DoubleX8# :: TYPE ('VecRep 'Vec8 'DoubleElemRep) Источник
Встроенный тип функции, записываемый в инфиксной форме как a % m -> b. Значения этого типа — функции, принимающие входные данные типа a и возвращающие результаты типа b. Кратность входного значения — m.
Обратите внимание, что FUN m a b допускает полиморфизм представления как в a, так и в b, поэтому типы, такие как Int# -> Int#, всё ещё могут иметь корректный вид рода.
Экземпляры
| Category (->) Источник | Начиная с: base-3.0 |
Определено в GHC.Internal.Control.Category | |
| (PrintfArg a, HPrintfType r) => HPrintfType (a -> r) Источник | Начиная с: base-2.1 |
Определено в Text.Printf | |
| (PrintfArg a, PrintfType r) => PrintfType (a -> r) Источник | Начиная с: base-2.1 |
Определено в Text.Printf | |
| Monoid b => Monoid (a -> b) Источник | Начиная с: base-2.1 |
| Semigroup b => Semigroup (a -> b) Источник | Начиная с: base-4.9.0.0 |
| Arrow (->) Источник | Начиная с: base-2.1 |
| ArrowApply (->) Источник | Начиная с: base-2.1 |
Определено в GHC.Internal.Control.Arrow | |
| ArrowChoice (->) Источник | Начиная с: base-2.1 |
| ArrowLoop (->) Источник | Начиная с: base-2.1 |
Определено в GHC.Internal.Control.Arrow | |
| Show (a -> b) Источник | Начиная с: base-2.1 |
| Applicative ((->) r) Источник | Начиная с: base-2.1 |
| Functor ((->) r) Источник | Начиная с: base-2.1 |
Определено в GHC.Internal.Base | |
| Monad ((->) r) Источник | Начиная с: base-2.1 |
| MonadFix ((->) r) Источник | Начиная с: base-2.1 |
Определено в GHC.Internal.Control.Monad.Fix | |
data Float# :: TYPE 'FloatRep Источник
Экземпляры
data FloatX16# :: TYPE ('VecRep 'Vec16 'FloatElemRep) Источник
data FloatX4# :: TYPE ('VecRep 'Vec4 'FloatElemRep) Источник
data FloatX8# :: TYPE ('VecRep 'Vec8 'FloatElemRep) Источник
data Int# :: TYPE 'IntRep Источник
Экземпляры
data Int16# :: TYPE 'Int16Rep Источник
data Int16X16# :: TYPE ('VecRep 'Vec16 'Int16ElemRep) Источник
data Int16X32# :: TYPE ('VecRep 'Vec32 'Int16ElemRep) Источник
data Int16X8# :: TYPE ('VecRep 'Vec8 'Int16ElemRep) Источник
data Int32# :: TYPE 'Int32Rep Источник
data Int32X16# :: TYPE ('VecRep 'Vec16 'Int32ElemRep) Источник
data Int32X4# :: TYPE ('VecRep 'Vec4 'Int32ElemRep) Источник
data Int32X8# :: TYPE ('VecRep 'Vec8 'Int32ElemRep) Источник
data Int64# :: TYPE 'Int64Rep Источник
data Int64X2# :: TYPE ('VecRep 'Vec2 'Int64ElemRep) Источник
data Int64X4# :: TYPE ('VecRep 'Vec4 'Int64ElemRep) Исходный код
data Int64X8# :: TYPE ('VecRep 'Vec8 'Int64ElemRep) Исходный код
data Int8# :: TYPE 'Int8Rep Исходный код
data Int8X16# :: TYPE ('VecRep 'Vec16 'Int8ElemRep) Исходный код
data Int8X32# :: TYPE ('VecRep 'Vec32 'Int8ElemRep) Исходный код
data Int8X64# :: TYPE ('VecRep 'Vec64 'Int8ElemRep) Исходный код
data MVar# a (b :: TYPE ('BoxedRep l)) :: UnliftedType Исходный код
Общая изменяемая переменная (не то же самое, что MutVar#!). (Примечание: в реализации без параллелизма (MVar# a) можно представить как (MutVar# (Maybe a)).)
data MutVar# a (b :: TYPE ('BoxedRep l)) :: UnliftedType Исходный код
MutVar# ведёт себя как изменяемый массив из одного элемента.
data MutableArray# a (b :: TYPE ('BoxedRep l)) :: UnliftedType Исходный код
data MutableByteArray# a :: UnliftedType Исходный код
Изменяемый ByteAray#. Его можно создать тремя способами:
-
newByteArray#: создать незакреплённый массив. -
newPinnedByteArray#: будет создан закреплённый массив, -
newAlignedPinnedByteArray#: будет создан закреплённый массив с пользовательским выравниванием.
Во время сборки мусора незакреплённые массивы могут перемещаться, поэтому нельзя сохранять или передавать указатели на эти значения, если сборщик мусора может запуститься. При этом незакреплённые массивы можно передавать в небезопасные вызовы FFI, поскольку во время таких вызовов сборка мусора не происходит (см. раздел Гарантированная безопасность вызовов в руководстве GHC). Для безопасных вызовов FFI массивы байтов должны быть не только закреплены, но и оставаться живыми на протяжении вызова благодаря функции keepAlive# (это связано с тем, что сборка мусора не может переместить закреплённый массив, но может полностью его удалить).
data PromptTag# a :: UnliftedType Исходный код
См. GHC.Prim.
data Proxy# (a :: k) :: ZeroBitType Исходный код
Конструктор типа Proxy# используется для свидетельства о некоторой переменной типа. Он нужен, когда требуется передавать значения-прокси, например, для моделирования применения типов. Proxy# не только распакован, но и имеет полиморфный род и не имеет представления во время выполнения, то есть ничего не стоит.
data RealWorld Исходный код
RealWorld — сущность глубоко магическая. Она примитивная, но не неподъёмная (отсюда ptrArg). Мы никогда не манипулируем значениями типа RealWorld; этот тип используется только в системе типов для параметризации State#.
data SmallArray# (a :: TYPE ('BoxedRep l)) :: UnliftedType Исходный код
data SmallMutableArray# a (b :: TYPE ('BoxedRep l)) :: UnliftedType Исходный код
data StableName# (a :: TYPE ('BoxedRep l)) :: UnliftedType Исходный код
data StablePtr# (a :: TYPE ('BoxedRep l)) :: TYPE 'AddrRep Исходный код
data StackSnapshot# :: UnliftedType Исходный код
Представление в Haskell значения StgStack*, созданного (клонированного) функцией из GHC.Stack.CloneStack. Более подробные пояснения см. в документации этого модуля.
data State# a :: ZeroBitType Исходный код
State# — примитивный неподъёмный тип состояний. У него один параметр типа, поэтому State# RealWorld или State# s, где s — переменная типа. Единственная цель этого параметра типа — разделять разные потоки состояний. Он вообще не имеет представления.
data TVar# a (b :: TYPE ('BoxedRep l)) :: UnliftedType Исходный код
data TYPE (a :: RuntimeRep) Исходный код
Экземпляры
| HasResolution E0 Источник | Начиная с: base-4.1.0.0 |
||||
Определено в Data.Fixed Методыresolution :: p E0 -> Integer Источник | |||||
| HasResolution E1 Источник | Начиная с: base-4.1.0.0 |
||||
Определено в Data.Fixed Методыresolution :: p E1 -> Integer Источник | |||||
| HasResolution E12 Источник | Начиная с: base-2.1 |
||||
Определено в Data.Fixed Методыresolution :: p E12 -> Integer Источник | |||||
| HasResolution E2 Источник | Начиная с: base-4.1.0.0 |
||||
Определено в Data.Fixed Методыresolution :: p E2 -> Integer Источник | |||||
| HasResolution E3 Источник | Начиная с: base-4.1.0.0 |
||||
Определено в Data.Fixed Методыresolution :: p E3 -> Integer Источник | |||||
| HasResolution E6 Источник | Начиная с: base-2.1 |
||||
Определено в Data.Fixed Методыresolution :: p E6 -> Integer Источник | |||||
| HasResolution E9 Источник | Начиная с: base-4.1.0.0 |
||||
Определено в Data.Fixed Методыresolution :: p E9 -> Integer Источник | |||||
| Category Op Источник | |||||
| Generic1 Complex Источник | |||||
Определено в Data.Complex Ассоциированные типы
| |||||
| Generic1 First Источник | |||||
Определено в Data.Semigroup Ассоциированные типы
| |||||
| Generic1 Last Источник | |||||
Определено в Data.Semigroup Ассоциированные типы
| |||||
| Generic1 Max Источник | |||||
Определено в Data.Semigroup Ассоциированные типы
| |||||
| Generic1 Min Источник | |||||
Определено в Data.Semigroup Ассоциированные типы
| |||||
| Generic1 WrappedMonoid Источник | |||||
Определено в Data.Semigroup Ассоциированные типы
Методыfrom1 :: WrappedMonoid a -> Rep1 WrappedMonoid a Источник to1 :: Rep1 WrappedMonoid a -> WrappedMonoid a Источник | |||||
| Generic1 NonEmpty Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 Identity Источник | |||||
Определено в GHC.Internal.Data.Functor.Identity Связанные типы
| |||||
| Generic1 First Источник | |||||
Определено в GHC.Internal.Data.Monoid Связанные типы
| |||||
| Generic1 Last Источник | |||||
Определено в GHC.Internal.Data.Monoid Связанные типы
| |||||
| Generic1 Down Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 Dual Источник | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Связанные типы
| |||||
| Generic1 Product Источник | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Связанные типы
| |||||
| Generic1 Sum Источник | |||||
Определено в GHC.Internal.Data.Semigroup.Internal Связанные типы
| |||||
| Generic1 ZipList Источник | |||||
Определено в GHC.Internal.Functor.ZipList Связанные типы
| |||||
| Generic1 Par1 Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 Maybe Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 Solo Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 [] Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Monad m => Category (Kleisli m :: Type -> Type -> Type) Источник | Начиная с: base-3.0 |
||||
| Generic1 (WrappedMonad m :: Type -> Type) Источник | |||||
Определено в Control.Applicative Связанные типы
Методыfrom1 :: WrappedMonad m a -> Rep1 (WrappedMonad m) a Источник to1 :: Rep1 (WrappedMonad m) a -> WrappedMonad m a Источник | |||||
| Generic1 (Arg a :: Type -> Type) Источник | |||||
Определено в Data.Semigroup Связанные типы
| |||||
| Generic1 (Either a :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 ((,) a :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, a0) -> Rep1 ((,) a) a0 Исходный код to1 :: Rep1 ((,) a) a0 -> (a, a0) Исходный код | |||||
| Category (->) Исходный код | Начиная с: base-3.0 |
||||
Определено в GHC.Internal.Control.Category | |||||
| Generic1 (WrappedArrow a b :: Type -> Type) Исходный код | |||||
Определено в Control.Applicative Связанные типы
Методыfrom1 :: WrappedArrow a b a0 -> Rep1 (WrappedArrow a b) a0 Исходный код to1 :: Rep1 (WrappedArrow a b) a0 -> WrappedArrow a b a0 Исходный код | |||||
| Generic1 (Kleisli m a :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Control.Arrow Связанные типы
Методыfrom1 :: Kleisli m a a0 -> Rep1 (Kleisli m a) a0 Исходный код to1 :: Rep1 (Kleisli m a) a0 -> Kleisli m a a0 Исходный код | |||||
| Generic1 ((,,) a b :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, a0) -> Rep1 ((,,) a b) a0 Исходный код to1 :: Rep1 ((,,) a b) a0 -> (a, b, a0) Исходный код | |||||
| Generic1 ((,,,) a b c :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, a0) -> Rep1 ((,,,) a b c) a0 Исходный код to1 :: Rep1 ((,,,) a b c) a0 -> (a, b, c, a0) Исходный код | |||||
| Generic1 ((,,,,) a b c d :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Functor f => Generic1 (Compose f g :: k -> Type) Источник | |||||
Определено в Data.Functor.Compose Связанные типы
| |||||
| Functor f => Generic1 (f :.: g :: k -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 ((,,,,,) a b c d e :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 ((,,,,,,) a b c d e f :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Generic1 ((,,,,,,,) a b c d e f g :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, f, g, a0) -> Rep1 ((,,,,,,,) a b c d e f g) a0 Исходный код to1 :: Rep1 ((,,,,,,,) a b c d e f g) a0 -> (a, b, c, d, e, f, g, a0) Исходный код | |||||
| Generic1 ((,,,,,,,,) a b c d e f g h :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, a0) -> Rep1 ((,,,,,,,,) a b c d e f g h) a0 Исходный код to1 :: Rep1 ((,,,,,,,,) a b c d e f g h) a0 -> (a, b, c, d, e, f, g, h, a0) Исходный код | |||||
| Generic1 ((,,,,,,,,,) a b c d e f g h i :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, a0) -> Rep1 ((,,,,,,,,,) a b c d e f g h i) a0 Исходный код to1 :: Rep1 ((,,,,,,,,,) a b c d e f g h i) a0 -> (a, b, c, d, e, f, g, h, i, a0) Исходный код | |||||
| Generic1 ((,,,,,,,,,,) a b c d e f g h i j :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, j, a0) -> Rep1 ((,,,,,,,,,,) a b c d e f g h i j) a0 Источник to1 :: Rep1 ((,,,,,,,,,,) a b c d e f g h i j) a0 -> (a, b, c, d, e, f, g, h, i, j, a0) Источник | |||||
| Generic1 ((,,,,,,,,,,,) a b c d e f g h i j k :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, j, k, a0) -> Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k) a0 Источник to1 :: Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k) a0 -> (a, b, c, d, e, f, g, h, i, j, k, a0) Источник | |||||
| Generic1 ((,,,,,,,,,,,,) a b c d e f g h i j k l :: Type -> Type) Источник | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, j, k, l, a0) -> Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l) a0 Исходный код to1 :: Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l) a0 -> (a, b, c, d, e, f, g, h, i, j, k, l, a0) Исходный код | |||||
| Generic1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Ассоциированные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, a0) -> Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m) a0 Исходный код to1 :: Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m) a0 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, a0) Исходный код | |||||
| Generic1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n :: Type -> Type) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
Методыfrom1 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, a0) -> Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n) a0 Исходный код to1 :: Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n) a0 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, a0) Исходный код | |||||
| Bifoldable (Const :: Type -> Type -> Type) Исходный код | Начиная с: base-4.10.0.0 |
||||
Определено в Data.Bifoldable Методыbifold :: Monoid m => Const m m -> m Исходный код bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> Const a b -> m Исходный код bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> Const a b -> c Исходный код bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> Const a b -> c Исходный код | |||||
| Bifoldable1 (Const :: Type -> Type -> Type) Исходный код | |||||
Определено в Data.Bifoldable1 Методыbifold1 :: Semigroup m => Const m m -> m Исходный код bifoldMap1 :: Semigroup m => (a -> m) -> (b -> m) -> Const a b -> m Исходный код | |||||
| Bifunctor (Const :: Type -> Type -> Type) Исходный код | Начиная с: base-4.8.0.0 |
||||
Определено в Data.Bifunctor Методыbimap :: (a -> b) -> (c -> d) -> Const a c -> Const b d Исходный код first :: (a -> b) -> Const a c -> Const b c Исходный код second :: (b -> c) -> Const a b -> Const a c Исходный код | |||||
| Bitraversable (Const :: Type -> Type -> Type) Исходный код | Начиная с: base-4.10.0.0 |
||||
Определено в Data.Bitraversable Методыbitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Const a b -> f (Const c d) Исходный код | |||||
| Foldable1 (V1 :: Type -> Type) Исходный код | Начиная с: base-4.18.0.0 |
||||
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => V1 m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> V1 a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> V1 a -> m Исходный код toNonEmpty :: V1 a -> NonEmpty a Исходный код maximum :: Ord a => V1 a -> a Исходный код minimum :: Ord a => V1 a -> a Исходный код head :: V1 a -> a Исходный код last :: V1 a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> V1 a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> V1 a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> V1 a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> V1 a -> b Исходный код | |||||
| Eq1 (Proxy :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Eq1 (U1 :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Eq1 (UAddr :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Eq1 (UChar :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Eq1 (UDouble :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Eq1 (UFloat :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
| Eq1 (UInt :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
| Eq1 (UWord :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
| Eq1 (V1 :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
| Eq2 (Const :: Type -> Type -> Type) Источник | Начиная с: base-4.9.0.0 |
| Ord1 (Proxy :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 (U1 :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 (UAddr :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 (UChar :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 (UDouble :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 (UFloat :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 (UInt :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 (UWord :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 (V1 :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord2 (Const :: Type -> Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes | |
| Read1 (Proxy :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Proxy a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Proxy a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Proxy a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Proxy a] Источник | |
| Read1 (U1 :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (U1 a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [U1 a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (U1 a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [U1 a] Источник | |
| Read1 (V1 :: Type -> Type) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (V1 a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [V1 a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (V1 a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [V1 a] Источник | |
| Read2 (Const :: Type -> Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (Const a b) Исходный код liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [Const a b] Исходный код liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (Const a b) Исходный код liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [Const a b] Исходный код | |
| Show1 (Proxy :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Proxy a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Proxy a] -> ShowS Исходный код | |
| Show1 (U1 :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> U1 a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [U1 a] -> ShowS Исходный код | |
| Show1 (UAddr :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UAddr a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UAddr a] -> ShowS Исходный код | |
| Show1 (UChar :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UChar a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UChar a] -> ShowS Исходный код | |
| Show1 (UDouble :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UDouble a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UDouble a] -> ShowS Исходный код | |
| Show1 (UFloat :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UFloat a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UFloat a] -> ShowS Исходный код | |
| Show1 (UInt :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UInt a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UInt a] -> ShowS Исходный код | |
| Show1 (UWord :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UWord a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UWord a] -> ShowS Исходный код | |
| Show1 (V1 :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> V1 a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [V1 a] -> ShowS Исходный код | |
| Show2 (Const :: Type -> Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes | |
| Contravariant (Proxy :: Type -> Type) Исходный код | |
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> Proxy a -> Proxy a' Исходный код (>$) :: b -> Proxy b -> Proxy a Исходный код | |
| Contravariant (U1 :: Type -> Type) Исходный код | |
Определено в Data.Functor.Contravariant | |
| Contravariant (V1 :: Type -> Type) Исходный код | |
Определено в Data.Functor.Contravariant | |
| Alternative (Proxy :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Proxy Методыempty :: Proxy a Исходный код (<|>) :: Proxy a -> Proxy a -> Proxy a Исходный код some :: Proxy a -> Proxy [a] Исходный код many :: Proxy a -> Proxy [a] Исходный код | |
| Alternative (U1 :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Generics Методыempty :: U1 a Исходный код (<|>) :: U1 a -> U1 a -> U1 a Исходный код some :: U1 a -> U1 [a] Исходный код many :: U1 a -> U1 [a] Исходный код | |
| Applicative (Proxy :: Type -> Type) Исходный код | С версии: base-4.7.0.0 |
Определён в GHC.Internal.Data.Proxy Методыpure :: a -> Proxy a Исходный код (<*>) :: Proxy (a -> b) -> Proxy a -> Proxy b Исходный код liftA2 :: (a -> b -> c) -> Proxy a -> Proxy b -> Proxy c Исходный код (*>) :: Proxy a -> Proxy b -> Proxy b Исходный код (<*) :: Proxy a -> Proxy b -> Proxy a Исходный код | |
| Applicative (U1 :: Type -> Type) Исходный код | С версии: base-4.9.0.0 |
Определён в GHC.Internal.Generics Методыpure :: a -> U1 a Исходный код (<*>) :: U1 (a -> b) -> U1 a -> U1 b Исходный код liftA2 :: (a -> b -> c) -> U1 a -> U1 b -> U1 c Исходный код (*>) :: U1 a -> U1 b -> U1 b Исходный код (<*) :: U1 a -> U1 b -> U1 a Исходный код | |
| Functor (Proxy :: Type -> Type) Исходный код | С версии: base-4.7.0.0 |
Определён в GHC.Internal.Data.Proxy Методыfmap :: (a -> b) -> Proxy a -> Proxy b Исходный код (<$) :: a -> Proxy b -> Proxy a Исходный код | |
| Functor (U1 :: Type -> Type) Исходный код | С версии: base-4.9.0.0 |
Определён в GHC.Internal.Generics | |
| Functor (V1 :: Type -> Type) Исходный код | С версии: base-4.9.0.0 |
Определён в GHC.Internal.Generics | |
| Monad (Proxy :: Type -> Type) Исходный код | С версии: base-4.7.0.0 |
Определён в GHC.Internal.Data.Proxy Методы(>>=) :: Proxy a -> (a -> Proxy b) -> Proxy b Исходный код (>>) :: Proxy a -> Proxy b -> Proxy b Исходный код return :: a -> Proxy a Исходный код | |
| Monad (U1 :: Type -> Type) Исходный код | С версии: base-4.9.0.0 |
Определён в GHC.Internal.Generics Методы(>>=) :: U1 a -> (a -> U1 b) -> U1 b Исходный код (>>) :: U1 a -> U1 b -> U1 b Исходный код return :: a -> U1 a Исходный код | |
| MonadPlus (Proxy :: Type -> Type) Исходный код | С версии: base-4.9.0.0 |
Определён в GHC.Internal.Data.Proxy | |
| MonadPlus (U1 :: Type -> Type) Исходный код | С версии: base-4.9.0.0 |
Определён в GHC.Internal.Generics | |
| MonadZip (Proxy :: Type -> Type) Исходный код | С версии: ghc-internal-4.9.0.0 |
Определён в GHC.Internal.Control.Monad.Zip Методыmzip :: Proxy a -> Proxy b -> Proxy (a, b) Исходный код mzipWith :: (a -> b -> c) -> Proxy a -> Proxy b -> Proxy c Исходный код munzip :: Proxy (a, b) -> (Proxy a, Proxy b) Исходный код | |
| MonadZip (U1 :: Type -> Type) Исходный код | С версии: ghc-internal-4.9.0.0 |
Определён в GHC.Internal.Control.Monad.Zip Методыmzip :: U1 a -> U1 b -> U1 (a, b) Исходный код mzipWith :: (a -> b -> c) -> U1 a -> U1 b -> U1 c Исходный код munzip :: U1 (a, b) -> (U1 a, U1 b) Исходный код | |
| Foldable (Proxy :: Type -> Type) Исходный код | С версии: base-4.7.0.0 |
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => Proxy m -> m Исходный код foldMap :: Monoid m => (a -> m) -> Proxy a -> m Исходный код foldMap' :: Monoid m => (a -> m) -> Proxy a -> m Исходный код foldr :: (a -> b -> b) -> b -> Proxy a -> b Исходный код foldr' :: (a -> b -> b) -> b -> Proxy a -> b Исходный код foldl :: (b -> a -> b) -> b -> Proxy a -> b Исходный код foldl' :: (b -> a -> b) -> b -> Proxy a -> b Исходный код foldr1 :: (a -> a -> a) -> Proxy a -> a Исходный код foldl1 :: (a -> a -> a) -> Proxy a -> a Исходный код toList :: Proxy a -> [a] Исходный код null :: Proxy a -> Bool Исходный код length :: Proxy a -> Int Исходный код elem :: Eq a => a -> Proxy a -> Bool Исходный код maximum :: Ord a => Proxy a -> a Исходный код minimum :: Ord a => Proxy a -> a Исходный код sum :: Num a => Proxy a -> a Исходный код product :: Num a => Proxy a -> a Исходный код | |
| Foldable (U1 :: Type -> Type) Исходный код | С версии: base-4.9.0.0 |
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => U1 m -> m Источник foldMap :: Monoid m => (a -> m) -> U1 a -> m Источник foldMap' :: Monoid m => (a -> m) -> U1 a -> m Источник foldr :: (a -> b -> b) -> b -> U1 a -> b Источник foldr' :: (a -> b -> b) -> b -> U1 a -> b Источник foldl :: (b -> a -> b) -> b -> U1 a -> b Источник foldl' :: (b -> a -> b) -> b -> U1 a -> b Источник foldr1 :: (a -> a -> a) -> U1 a -> a Источник foldl1 :: (a -> a -> a) -> U1 a -> a Источник toList :: U1 a -> [a] Источник length :: U1 a -> Int Источник elem :: Eq a => a -> U1 a -> Bool Источник maximum :: Ord a => U1 a -> a Источник minimum :: Ord a => U1 a -> a Источник | |
| Foldable (UAddr :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UAddr m -> m Источник foldMap :: Monoid m => (a -> m) -> UAddr a -> m Источник foldMap' :: Monoid m => (a -> m) -> UAddr a -> m Источник foldr :: (a -> b -> b) -> b -> UAddr a -> b Источник foldr' :: (a -> b -> b) -> b -> UAddr a -> b Источник foldl :: (b -> a -> b) -> b -> UAddr a -> b Источник foldl' :: (b -> a -> b) -> b -> UAddr a -> b Источник foldr1 :: (a -> a -> a) -> UAddr a -> a Источник foldl1 :: (a -> a -> a) -> UAddr a -> a Источник toList :: UAddr a -> [a] Источник null :: UAddr a -> Bool Источник length :: UAddr a -> Int Источник elem :: Eq a => a -> UAddr a -> Bool Источник maximum :: Ord a => UAddr a -> a Источник minimum :: Ord a => UAddr a -> a Источник | |
| Foldable (UChar :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UChar m -> m Источник foldMap :: Monoid m => (a -> m) -> UChar a -> m Источник foldMap' :: Monoid m => (a -> m) -> UChar a -> m Источник foldr :: (a -> b -> b) -> b -> UChar a -> b Источник foldr' :: (a -> b -> b) -> b -> UChar a -> b Источник foldl :: (b -> a -> b) -> b -> UChar a -> b Источник foldl' :: (b -> a -> b) -> b -> UChar a -> b Источник foldr1 :: (a -> a -> a) -> UChar a -> a Источник foldl1 :: (a -> a -> a) -> UChar a -> a Источник toList :: UChar a -> [a] Источник null :: UChar a -> Bool Источник length :: UChar a -> Int Источник elem :: Eq a => a -> UChar a -> Bool Источник maximum :: Ord a => UChar a -> a Источник minimum :: Ord a => UChar a -> a Источник | |
| Foldable (UDouble :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UDouble m -> m Источник foldMap :: Monoid m => (a -> m) -> UDouble a -> m Источник foldMap' :: Monoid m => (a -> m) -> UDouble a -> m Источник foldr :: (a -> b -> b) -> b -> UDouble a -> b Источник foldr' :: (a -> b -> b) -> b -> UDouble a -> b Источник foldl :: (b -> a -> b) -> b -> UDouble a -> b Источник foldl' :: (b -> a -> b) -> b -> UDouble a -> b Источник foldr1 :: (a -> a -> a) -> UDouble a -> a Источник foldl1 :: (a -> a -> a) -> UDouble a -> a Источник toList :: UDouble a -> [a] Источник null :: UDouble a -> Bool Источник length :: UDouble a -> Int Источник elem :: Eq a => a -> UDouble a -> Bool Источник maximum :: Ord a => UDouble a -> a Источник minimum :: Ord a => UDouble a -> a Источник | |
| Foldable (UFloat :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UFloat m -> m Источник foldMap :: Monoid m => (a -> m) -> UFloat a -> m Источник foldMap' :: Monoid m => (a -> m) -> UFloat a -> m Источник foldr :: (a -> b -> b) -> b -> UFloat a -> b Источник foldr' :: (a -> b -> b) -> b -> UFloat a -> b Источник foldl :: (b -> a -> b) -> b -> UFloat a -> b Источник foldl' :: (b -> a -> b) -> b -> UFloat a -> b Источник foldr1 :: (a -> a -> a) -> UFloat a -> a Источник foldl1 :: (a -> a -> a) -> UFloat a -> a Источник toList :: UFloat a -> [a] Источник null :: UFloat a -> Bool Источник length :: UFloat a -> Int Источник elem :: Eq a => a -> UFloat a -> Bool Источник maximum :: Ord a => UFloat a -> a Источник minimum :: Ord a => UFloat a -> a Источник | |
| Foldable (UInt :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UInt m -> m Источник foldMap :: Monoid m => (a -> m) -> UInt a -> m Источник foldMap' :: Monoid m => (a -> m) -> UInt a -> m Источник foldr :: (a -> b -> b) -> b -> UInt a -> b Источник foldr' :: (a -> b -> b) -> b -> UInt a -> b Источник foldl :: (b -> a -> b) -> b -> UInt a -> b Источник foldl' :: (b -> a -> b) -> b -> UInt a -> b Источник foldr1 :: (a -> a -> a) -> UInt a -> a Источник foldl1 :: (a -> a -> a) -> UInt a -> a Источник toList :: UInt a -> [a] Источник null :: UInt a -> Bool Источник length :: UInt a -> Int Источник elem :: Eq a => a -> UInt a -> Bool Источник maximum :: Ord a => UInt a -> a Источник minimum :: Ord a => UInt a -> a Источник | |
| Foldable (UWord :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => UWord m -> m Источник foldMap :: Monoid m => (a -> m) -> UWord a -> m Источник foldMap' :: Monoid m => (a -> m) -> UWord a -> m Источник foldr :: (a -> b -> b) -> b -> UWord a -> b Источник foldr' :: (a -> b -> b) -> b -> UWord a -> b Источник foldl :: (b -> a -> b) -> b -> UWord a -> b Источник foldl' :: (b -> a -> b) -> b -> UWord a -> b Источник foldr1 :: (a -> a -> a) -> UWord a -> a Источник foldl1 :: (a -> a -> a) -> UWord a -> a Источник toList :: UWord a -> [a] Источник null :: UWord a -> Bool Источник length :: UWord a -> Int Источник elem :: Eq a => a -> UWord a -> Bool Источник maximum :: Ord a => UWord a -> a Источник minimum :: Ord a => UWord a -> a Источник | |
| Foldable (V1 :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => V1 m -> m Источник foldMap :: Monoid m => (a -> m) -> V1 a -> m Источник foldMap' :: Monoid m => (a -> m) -> V1 a -> m Источник foldr :: (a -> b -> b) -> b -> V1 a -> b Источник foldr' :: (a -> b -> b) -> b -> V1 a -> b Источник foldl :: (b -> a -> b) -> b -> V1 a -> b Источник foldl' :: (b -> a -> b) -> b -> V1 a -> b Источник foldr1 :: (a -> a -> a) -> V1 a -> a Источник foldl1 :: (a -> a -> a) -> V1 a -> a Источник toList :: V1 a -> [a] Источник length :: V1 a -> Int Источник elem :: Eq a => a -> V1 a -> Bool Источник maximum :: Ord a => V1 a -> a Источник minimum :: Ord a => V1 a -> a Источник | |
| Traversable (Proxy :: Type -> Type) Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Traversable | |
| Traversable (U1 :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
| Traversable (UAddr :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> UAddr a -> f (UAddr b) Исходный код sequenceA :: Applicative f => UAddr (f a) -> f (UAddr a) Исходный код mapM :: Monad m => (a -> m b) -> UAddr a -> m (UAddr b) Исходный код sequence :: Monad m => UAddr (m a) -> m (UAddr a) Исходный код | |
| Traversable (UChar :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> UChar a -> f (UChar b) Исходный код sequenceA :: Applicative f => UChar (f a) -> f (UChar a) Исходный код mapM :: Monad m => (a -> m b) -> UChar a -> m (UChar b) Исходный код sequence :: Monad m => UChar (m a) -> m (UChar a) Исходный код | |
| Traversable (UDouble :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> UDouble a -> f (UDouble b) Исходный код sequenceA :: Applicative f => UDouble (f a) -> f (UDouble a) Исходный код mapM :: Monad m => (a -> m b) -> UDouble a -> m (UDouble b) Исходный код sequence :: Monad m => UDouble (m a) -> m (UDouble a) Исходный код | |
| Traversable (UFloat :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> UFloat a -> f (UFloat b) Исходный код sequenceA :: Applicative f => UFloat (f a) -> f (UFloat a) Исходный код mapM :: Monad m => (a -> m b) -> UFloat a -> m (UFloat b) Исходный код sequence :: Monad m => UFloat (m a) -> m (UFloat a) Исходный код | |
| Traversable (UInt :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> UInt a -> f (UInt b) Исходный код sequenceA :: Applicative f => UInt (f a) -> f (UInt a) Исходный код mapM :: Monad m => (a -> m b) -> UInt a -> m (UInt b) Исходный код sequence :: Monad m => UInt (m a) -> m (UInt a) Исходный код | |
| Traversable (UWord :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> UWord a -> f (UWord b) Исходный код sequenceA :: Applicative f => UWord (f a) -> f (UWord a) Исходный код mapM :: Monad m => (a -> m b) -> UWord a -> m (UWord b) Исходный код sequence :: Monad m => UWord (m a) -> m (UWord a) Исходный код | |
| Traversable (V1 :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> V1 a -> f (V1 b) Исходный код sequenceA :: Applicative f => V1 (f a) -> f (V1 a) Исходный код mapM :: Monad m => (a -> m b) -> V1 a -> m (V1 b) Исходный код sequence :: Monad m => V1 (m a) -> m (V1 a) Исходный код | |
| Bifoldable (K1 i :: Type -> Type -> Type) Исходный код | Начиная с: base-4.10.0.0 |
Определено в Data.Bifoldable Методыbifold :: Monoid m => K1 i m m -> m Исходный код bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> K1 i a b -> m Исходный код bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> K1 i a b -> c Исходный код bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> K1 i a b -> c Исходный код | |
| Bifunctor (K1 i :: Type -> Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Bifunctor Методыbimap :: (a -> b) -> (c -> d) -> K1 i a c -> K1 i b d Исходный код first :: (a -> b) -> K1 i a c -> K1 i b c Исходный код second :: (b -> c) -> K1 i a b -> K1 i a c Исходный код | |
| Bitraversable (K1 i :: Type -> Type -> Type) Исходный код | Начиная с: base-4.10.0.0 |
Определено в Data.Bitraversable Методыbitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> K1 i a b -> f (K1 i c d) Исходный код | |
| 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 Исходный код | |
| Foldable1 f => Foldable1 (Alt f) Исходный код | Начиная с: 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 Исходный код | |
| Foldable1 f => Foldable1 (Rec1 f) Исходный код | Начиная с: base-4.18.0.0 |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => Rec1 f m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> Rec1 f a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> Rec1 f a -> m Исходный код toNonEmpty :: Rec1 f a -> NonEmpty a Исходный код maximum :: Ord a => Rec1 f a -> a Исходный код minimum :: Ord a => Rec1 f a -> a Исходный код head :: Rec1 f a -> a Исходный код last :: Rec1 f a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> Rec1 f a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> Rec1 f a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> Rec1 f a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> Rec1 f a -> b Исходный код | |
| Eq a => Eq1 (Const a :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes | |
| (Generic1 f, Eq1 (Rep1 f)) => Eq1 (Generically1 f) Исходный код | Начиная с: base-4.17.0.0 |
Определено в Data.Functor.Classes МетодыliftEq :: (a -> b -> Bool) -> Generically1 f a -> Generically1 f b -> Bool Исходный код | |
| Eq1 f => Eq1 (Rec1 f) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord a => Ord1 (Const a :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a0 -> b -> Ordering) -> Const a a0 -> Const a b -> Ordering Исходный код | |
| (Generic1 f, Ord1 (Rep1 f)) => Ord1 (Generically1 f) Исходный код | Начиная с: base-4.17.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> Generically1 f a -> Generically1 f b -> Ordering Исходный код | |
| Ord1 f => Ord1 (Rec1 f) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> Rec1 f a -> Rec1 f b -> Ordering Исходный код | |
| Read a => Read1 (Const a :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a0) -> ReadS [a0] -> Int -> ReadS (Const a a0) Исходный код liftReadList :: (Int -> ReadS a0) -> ReadS [a0] -> ReadS [Const a a0] Исходный код liftReadPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec (Const a a0) Исходный код liftReadListPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec [Const a a0] Исходный код | |
| Read1 f => Read1 (Rec1 f) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Rec1 f a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Rec1 f a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Rec1 f a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Rec1 f a] Исходный код | |
| Show a => Show1 (Const a :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> Int -> Const a a0 -> ShowS Исходный код liftShowList :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> [Const a a0] -> ShowS Исходный код | |
| Show1 f => Show1 (Rec1 f) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Rec1 f a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Rec1 f a] -> ShowS Исходный код | |
| Contravariant (Const a :: Type -> Type) Исходный код | |
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a0) -> Const a a0 -> Const a a' Исходный код (>$) :: b -> Const a b -> Const a a0 Исходный код | |
| Contravariant f => Contravariant (Alt f) Исходный код | |
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> Alt f a -> Alt f a' Исходный код (>$) :: b -> Alt f b -> Alt f a Исходный код | |
| Contravariant f => Contravariant (Rec1 f) Исходный код | |
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> Rec1 f a -> Rec1 f a' Исходный код (>$) :: b -> Rec1 f b -> Rec1 f a Исходный код | |
| 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] Исходный код | |
| Alternative f => Alternative (Alt f) Исходный код | Начиная с: 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] Исходный код | |
| (Generic1 f, Alternative (Rep1 f)) => Alternative (Generically1 f) Исходный код | Начиная с: base-4.17.0.0 |
Определено в GHC.Internal.Generics Методыempty :: Generically1 f a Исходный код (<|>) :: Generically1 f a -> Generically1 f a -> Generically1 f a Исходный код some :: Generically1 f a -> Generically1 f [a] Исходный код many :: Generically1 f a -> Generically1 f [a] Исходный код | |
| Alternative f => Alternative (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыempty :: Rec1 f a Исходный код (<|>) :: Rec1 f a -> Rec1 f a -> Rec1 f a Исходный код some :: Rec1 f a -> Rec1 f [a] Исходный код many :: Rec1 f a -> Rec1 f [a] Исходный код | |
| Monoid m => Applicative (Const m :: Type -> Type) Исходный код | Начиная с: base-2.0.1 |
Определено в GHC.Internal.Data.Functor.Const Методыpure :: a -> Const m a Исходный код (<*>) :: Const m (a -> b) -> Const m a -> Const m b Исходный код liftA2 :: (a -> b -> c) -> Const m a -> Const m b -> Const m c Исходный код (*>) :: Const m a -> Const m b -> Const m b Исходный код (<*) :: Const m a -> Const m b -> Const m 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 Исходный код | |
| Applicative f => Applicative (Alt f) Исходный код | Начиная с: 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 Исходный код | |
| (Generic1 f, Applicative (Rep1 f)) => Applicative (Generically1 f) Исходный код | Начиная с: base-4.17.0.0 |
Определено в GHC.Internal.Generics Методыpure :: a -> Generically1 f a Исходный код (<*>) :: Generically1 f (a -> b) -> Generically1 f a -> Generically1 f b Исходный код liftA2 :: (a -> b -> c) -> Generically1 f a -> Generically1 f b -> Generically1 f c Исходный код (*>) :: Generically1 f a -> Generically1 f b -> Generically1 f b Исходный код (<*) :: Generically1 f a -> Generically1 f b -> Generically1 f a Исходный код | |
| Applicative f => Applicative (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыpure :: a -> Rec1 f a Исходный код (<*>) :: Rec1 f (a -> b) -> Rec1 f a -> Rec1 f b Исходный код liftA2 :: (a -> b -> c) -> Rec1 f a -> Rec1 f b -> Rec1 f c Исходный код (*>) :: Rec1 f a -> Rec1 f b -> Rec1 f b Исходный код (<*) :: Rec1 f a -> Rec1 f b -> Rec1 f a Исходный код | |
| Functor (Const m :: Type -> Type) Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Data.Functor.Const Методыfmap :: (a -> b) -> Const m a -> Const m b Исходный код (<$) :: a -> Const m b -> Const m a Исходный код | |
| Functor f => Functor (Ap f) Исходный код | Начиная с: base-4.12.0.0 |
Определено в GHC.Internal.Data.Monoid | |
| Functor f => Functor (Alt f) Исходный код | Начиная с: 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 Исходный код | |
| (Generic1 f, Functor (Rep1 f)) => Functor (Generically1 f) Исходный код | Начиная с: base-4.17.0.0 |
Определено в GHC.Internal.Generics Методыfmap :: (a -> b) -> Generically1 f a -> Generically1 f b Исходный код (<$) :: a -> Generically1 f b -> Generically1 f a Исходный код | |
| Functor f => Functor (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыfmap :: (a -> b) -> Rec1 f a -> Rec1 f b Исходный код (<$) :: a -> Rec1 f b -> Rec1 f a Исходный код | |
| Functor (URec (Ptr ()) :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Functor (URec Char :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Functor (URec Double :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Functor (URec Float :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Functor (URec Int :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Functor (URec Word :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| 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 Исходный код | |
| Monad f => Monad (Alt f) Исходный код | Начиная с: 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 Исходный код | |
| Monad f => Monad (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методы(>>=) :: Rec1 f a -> (a -> Rec1 f b) -> Rec1 f b Исходный код (>>) :: Rec1 f a -> Rec1 f b -> Rec1 f b Исходный код return :: a -> Rec1 f a Исходный код | |
| MonadPlus f => MonadPlus (Ap f) Исходный код | Начиная с: base-4.12.0.0 |
Определено в GHC.Internal.Data.Monoid | |
| MonadPlus f => MonadPlus (Alt f) Исходный код | Начиная с: base-4.8.0.0 |
Определено в GHC.Internal.Data.Semigroup.Internal | |
| MonadPlus f => MonadPlus (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| 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 Исходный код | |
| MonadFix f => MonadFix (Alt f) Исходный код | Начиная с: base-4.8.0.0 |
Определено в GHC.Internal.Control.Monad.Fix Методыmfix :: (a -> Alt f a) -> Alt f a Исходный код | |
| MonadFix f => MonadFix (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Control.Monad.Fix Методыmfix :: (a -> Rec1 f a) -> Rec1 f a Исходный код | |
| MonadZip f => MonadZip (Alt f) Исходный код | Начиная с: 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) Исходный код | |
| MonadZip f => MonadZip (Rec1 f) Источник | Начиная с: ghc-internal-4.9.0.0 |
| Data t => Data (Proxy t) Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Proxy t -> c (Proxy t) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Proxy t) Источник toConstr :: Proxy t -> Constr Источник dataTypeOf :: Proxy t -> DataType Источник dataCast1 :: Typeable t0 => (forall d. Data d => c (t0 d)) -> Maybe (c (Proxy t)) Источник dataCast2 :: Typeable t0 => (forall d e. (Data d, Data e) => c (t0 d e)) -> Maybe (c (Proxy t)) Источник gmapT :: (forall b. Data b => b -> b) -> Proxy t -> Proxy t Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Proxy t -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Proxy t -> r Источник gmapQ :: (forall d. Data d => d -> u) -> Proxy t -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> Proxy t -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> Proxy t -> m (Proxy t) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Proxy t -> m (Proxy t) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Proxy t -> m (Proxy t) Источник | |
| Data p => Data (U1 p) Источник | Начиная с: 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) -> U1 p -> c (U1 p) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (U1 p) Источник toConstr :: U1 p -> Constr Источник dataTypeOf :: U1 p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (U1 p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (U1 p)) Источник gmapT :: (forall b. Data b => b -> b) -> U1 p -> U1 p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> U1 p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> U1 p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> U1 p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> U1 p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> U1 p -> m (U1 p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> U1 p -> m (U1 p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> U1 p -> m (U1 p) Источник | |
| Data p => Data (V1 p) Источник | Начиная с: 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) -> V1 p -> c (V1 p) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V1 p) Источник toConstr :: V1 p -> Constr Источник dataTypeOf :: V1 p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V1 p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V1 p)) Источник gmapT :: (forall b. Data b => b -> b) -> V1 p -> V1 p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V1 p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V1 p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> V1 p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> V1 p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> V1 p -> m (V1 p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V1 p -> m (V1 p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V1 p -> m (V1 p) Источник | |
| Foldable (Const m :: Type -> Type) Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Functor.Const Методыfold :: Monoid m0 => Const m m0 -> m0 Источник foldMap :: Monoid m0 => (a -> m0) -> Const m a -> m0 Источник foldMap' :: Monoid m0 => (a -> m0) -> Const m a -> m0 Источник foldr :: (a -> b -> b) -> b -> Const m a -> b Источник foldr' :: (a -> b -> b) -> b -> Const m a -> b Источник foldl :: (b -> a -> b) -> b -> Const m a -> b Источник foldl' :: (b -> a -> b) -> b -> Const m a -> b Источник foldr1 :: (a -> a -> a) -> Const m a -> a Источник foldl1 :: (a -> a -> a) -> Const m a -> a Источник toList :: Const m a -> [a] Источник null :: Const m a -> Bool Источник length :: Const m a -> Int Источник elem :: Eq a => a -> Const m a -> Bool Источник maximum :: Ord a => Const m a -> a Источник minimum :: Ord a => Const m a -> 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 Исходный код | |
| Foldable f => Foldable (Alt f) Исходный код | Начиная с: 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 Исходный код | |
| Foldable f => Foldable (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => Rec1 f m -> m Исходный код foldMap :: Monoid m => (a -> m) -> Rec1 f a -> m Исходный код foldMap' :: Monoid m => (a -> m) -> Rec1 f a -> m Исходный код foldr :: (a -> b -> b) -> b -> Rec1 f a -> b Исходный код foldr' :: (a -> b -> b) -> b -> Rec1 f a -> b Исходный код foldl :: (b -> a -> b) -> b -> Rec1 f a -> b Исходный код foldl' :: (b -> a -> b) -> b -> Rec1 f a -> b Исходный код foldr1 :: (a -> a -> a) -> Rec1 f a -> a Исходный код foldl1 :: (a -> a -> a) -> Rec1 f a -> a Исходный код toList :: Rec1 f a -> [a] Исходный код null :: Rec1 f a -> Bool Исходный код length :: Rec1 f a -> Int Исходный код elem :: Eq a => a -> Rec1 f a -> Bool Исходный код maximum :: Ord a => Rec1 f a -> a Исходный код minimum :: Ord a => Rec1 f a -> a Исходный код sum :: Num a => Rec1 f a -> a Исходный код product :: Num a => Rec1 f a -> a Исходный код | |
| Traversable (Const m :: Type -> Type) Исходный код | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> Const m a -> f (Const m b) Исходный код sequenceA :: Applicative f => Const m (f a) -> f (Const m a) Исходный код mapM :: Monad m0 => (a -> m0 b) -> Const m a -> m0 (Const m b) Исходный код sequence :: Monad m0 => Const m (m0 a) -> m0 (Const m 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) Исходный код | |
| Traversable f => Traversable (Alt f) Исходный код | Начиная с: 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) Исходный код | |
| Traversable f => Traversable (Rec1 f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f0 => (a -> f0 b) -> Rec1 f a -> f0 (Rec1 f b) Исходный код sequenceA :: Applicative f0 => Rec1 f (f0 a) -> f0 (Rec1 f a) Исходный код mapM :: Monad m => (a -> m b) -> Rec1 f a -> m (Rec1 f b) Исходный код sequence :: Monad m => Rec1 f (m a) -> m (Rec1 f a) Исходный код | |
| (Foldable1 f, Foldable1 g) => Foldable1 (Product f g) Исходный код | Достаточно, чтобы одна из половин произведения была |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => Product f g m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> Product f g a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> Product f g a -> m Исходный код toNonEmpty :: Product f g a -> NonEmpty a Исходный код maximum :: Ord a => Product f g a -> a Исходный код minimum :: Ord a => Product f g a -> a Исходный код head :: Product f g a -> a Исходный код last :: Product f g a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> Product f g a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> Product f g a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> Product f g a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> Product f g a -> b Исходный код | |
| (Foldable1 f, Foldable1 g) => Foldable1 (Sum f g) Исходный код | Начиная с: base-4.18.0.0 |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => Sum f g m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> Sum f g a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> Sum f g a -> m Исходный код toNonEmpty :: Sum f g a -> NonEmpty a Исходный код maximum :: Ord a => Sum f g a -> a Исходный код minimum :: Ord a => Sum f g a -> a Исходный код head :: Sum f g a -> a Исходный код last :: Sum f g a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> Sum f g a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> Sum f g a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> Sum f g a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> Sum f g a -> b Исходный код | |
| (Foldable1 f, Foldable1 g) => Foldable1 (f :*: g) Исходный код | Начиная с: base-4.18.0.0 |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => (f :*: g) m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> (f :*: g) a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> (f :*: g) a -> m Исходный код toNonEmpty :: (f :*: g) a -> NonEmpty a Исходный код maximum :: Ord a => (f :*: g) a -> a Исходный код minimum :: Ord a => (f :*: g) a -> a Исходный код head :: (f :*: g) a -> a Исходный код last :: (f :*: g) a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> (f :*: g) a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> (f :*: g) a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> (f :*: g) a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> (f :*: g) a -> b Исходный код | |
| (Foldable1 f, Foldable1 g) => Foldable1 (f :+: g) Исходный код | Начиная с: base-4.18.0.0 |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => (f :+: g) m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> (f :+: g) a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> (f :+: g) a -> m Исходный код toNonEmpty :: (f :+: g) a -> NonEmpty a Исходный код maximum :: Ord a => (f :+: g) a -> a Исходный код minimum :: Ord a => (f :+: g) a -> a Исходный код head :: (f :+: g) a -> a Исходный код last :: (f :+: g) a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> (f :+: g) a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> (f :+: g) a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> (f :+: g) a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> (f :+: g) a -> b Исходный код | |
| (Eq1 f, Eq1 g) => Eq1 (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product | |
| (Eq1 f, Eq1 g) => Eq1 (Sum f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Sum | |
| (Eq1 f, Eq1 g) => Eq1 (f :*: g) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| (Eq1 f, Eq1 g) => Eq1 (f :+: g) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Eq c => Eq1 (K1 i c :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| (Ord1 f, Ord1 g) => Ord1 (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product МетодыliftCompare :: (a -> b -> Ordering) -> Product f g a -> Product f g b -> Ordering Исходный код | |
| (Ord1 f, Ord1 g) => Ord1 (Sum f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Sum МетодыliftCompare :: (a -> b -> Ordering) -> Sum f g a -> Sum f g b -> Ordering Исходный код | |
| (Ord1 f, Ord1 g) => Ord1 (f :*: g) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> (f :*: g) a -> (f :*: g) b -> Ordering Исходный код | |
| (Ord1 f, Ord1 g) => Ord1 (f :+: g) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> (f :+: g) a -> (f :+: g) b -> Ordering Исходный код | |
| Ord c => Ord1 (K1 i c :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> K1 i c a -> K1 i c b -> Ordering Исходный код | |
| (Read1 f, Read1 g) => Read1 (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Product f g a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Product f g a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Product f g a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Product f g a] Исходный код | |
| (Read1 f, Read1 g) => Read1 (Sum f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Sum МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Sum f g a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Sum f g a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Sum f g a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Sum f g a] Исходный код | |
| (Read1 f, Read1 g) => Read1 (f :*: g) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS ((f :*: g) a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [(f :*: g) a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec ((f :*: g) a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [(f :*: g) a] Исходный код | |
| (Read1 f, Read1 g) => Read1 (f :+: g) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS ((f :+: g) a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [(f :+: g) a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec ((f :+: g) a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [(f :+: g) a] Исходный код | |
| Read c => Read1 (K1 i c :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (K1 i c a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [K1 i c a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (K1 i c a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [K1 i c a] Исходный код | |
| (Show1 f, Show1 g) => Show1 (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Product f g a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Product f g a] -> ShowS Исходный код | |
| (Show1 f, Show1 g) => Show1 (Sum f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Sum МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Sum f g a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Sum f g a] -> ShowS Исходный код | |
| (Show1 f, Show1 g) => Show1 (f :*: g) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> (f :*: g) a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [(f :*: g) a] -> ShowS Исходный код | |
| (Show1 f, Show1 g) => Show1 (f :+: g) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> (f :+: g) a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [(f :+: g) a] -> ShowS Исходный код | |
| Show c => Show1 (K1 i c :: Type -> Type) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> K1 i c a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [K1 i c a] -> ShowS Исходный код | |
| (Contravariant f, Contravariant g) => Contravariant (Product f g) Исходный код | |
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> Product f g a -> Product f g a' Исходный код (>$) :: b -> Product f g b -> Product f g a Исходный код | |
| (Contravariant f, Contravariant g) => Contravariant (Sum f g) Исходный код | |
| (Contravariant f, Contravariant g) => Contravariant (f :*: g) Источник | |
| (Contravariant f, Contravariant g) => Contravariant (f :+: g) Источник | |
| Contravariant (K1 i c :: Type -> Type) Источник | |
| (Alternative f, Alternative g) => Alternative (Product f g) Источник | С версии: base-4.9.0.0 |
| (Alternative f, Alternative g) => Alternative (f :*: g) Источник | С версии: base-4.9.0.0 |
| (Applicative f, Applicative g) => Applicative (Product f g) Источник | С версии: base-4.9.0.0 |
Определено в Data.Functor.Product Методыpure :: a -> Product f g a Источник (<*>) :: Product f g (a -> b) -> Product f g a -> Product f g b Источник liftA2 :: (a -> b -> c) -> Product f g a -> Product f g b -> Product f g c Источник (*>) :: Product f g a -> Product f g b -> Product f g b Источник (<*) :: Product f g a -> Product f g b -> Product f g a Источник | |
| (Applicative f, Applicative g) => Applicative (f :*: g) Источник | С версии: base-4.9.0.0 |
| Monoid c => Applicative (K1 i c :: Type -> Type) Источник | С версии: base-4.12.0.0 |
Определено в GHC.Internal.Generics | |
| (Functor f, Functor g) => Functor (Product f g) Источник | С версии: base-4.9.0.0 |
| (Functor f, Functor g) => Functor (Sum f g) Источник | С версии: base-4.9.0.0 |
| (Functor f, Functor g) => Functor (f :*: g) Источник | С версии: base-4.9.0.0 |
| (Functor f, Functor g) => Functor (f :+: g) Источник | С версии: base-4.9.0.0 |
| Functor (K1 i c :: Type -> Type) Источник | С версии: base-4.9.0.0 |
| (Monad f, Monad g) => Monad (Product f g) Источник | С версии: base-4.9.0.0 |
| (Monad f, Monad g) => Monad (f :*: g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методы(>>=) :: (f :*: g) a -> (a -> (f :*: g) b) -> (f :*: g) b Исходный код (>>) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) b Исходный код return :: a -> (f :*: g) a Исходный код | |
| (MonadPlus f, MonadPlus g) => MonadPlus (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product Методыmzero :: Product f g a Исходный код mplus :: Product f g a -> Product f g a -> Product f g a Исходный код | |
| (MonadPlus f, MonadPlus g) => MonadPlus (f :*: g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыmzero :: (f :*: g) a Исходный код mplus :: (f :*: g) a -> (f :*: g) a -> (f :*: g) 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 Исходный код | |
| 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 Исходный код | |
| (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 Исходный код | |
| 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 Исходный код | |
| (MonadFix f, MonadFix g) => MonadFix (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product Методыmfix :: (a -> Product f g a) -> Product f g a Исходный код | |
| (MonadFix f, MonadFix g) => MonadFix (f :*: g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Control.Monad.Fix Методыmfix :: (a -> (f :*: g) a) -> (f :*: g) a Исходный код | |
| (MonadZip f, MonadZip g) => MonadZip (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product Методыmzip :: Product f g a -> Product f g b -> Product f g (a, b) Исходный код mzipWith :: (a -> b -> c) -> Product f g a -> Product f g b -> Product f g c Исходный код munzip :: Product f g (a, b) -> (Product f g a, Product f g b) Исходный код | |
| (MonadZip f, MonadZip g) => MonadZip (f :*: g) Исходный код | Начиная с: ghc-internal-4.9.0.0 |
Определено в GHC.Internal.Control.Monad.Zip Методыmzip :: (f :*: g) a -> (f :*: g) b -> (f :*: g) (a, b) Исходный код mzipWith :: (a -> b -> c) -> (f :*: g) a -> (f :*: g) b -> (f :*: g) c Исходный код munzip :: (f :*: g) (a, b) -> ((f :*: g) a, (f :*: g) b) Исходный код | |
| (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) Исходный код | |
| (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) Источник | |
| (Coercible a b, Data a, Data b) => Data (Coercion a b) Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> Coercion a b -> c (Coercion a b) Источник gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Coercion a b) Источник toConstr :: Coercion a b -> Constr Источник dataTypeOf :: Coercion a b -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Coercion a b)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Coercion a b)) Источник gmapT :: (forall b0. Data b0 => b0 -> b0) -> Coercion a b -> Coercion a b Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Coercion a b -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Coercion a b -> r Источник gmapQ :: (forall d. Data d => d -> u) -> Coercion a b -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> Coercion a b -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> Coercion a b -> m (Coercion a b) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Coercion a b -> m (Coercion a b) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Coercion a b -> m (Coercion a b) Источник | |
| (a ~ b, Data a) => Data (a :~: b) Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> (a :~: b) -> c (a :~: b) Источник gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (a :~: b) Источник toConstr :: (a :~: b) -> Constr Источник dataTypeOf :: (a :~: b) -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (a :~: b)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (a :~: b)) Источник gmapT :: (forall b0. Data b0 => b0 -> b0) -> (a :~: b) -> a :~: b Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (a :~: b) -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (a :~: b) -> r Источник gmapQ :: (forall d. Data d => d -> u) -> (a :~: b) -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> (a :~: b) -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> (a :~: b) -> m (a :~: b) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (a :~: b) -> m (a :~: b) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (a :~: b) -> m (a :~: b) Источник | |
| (Data (f p), Typeable f, Data p) => Data (Rec1 f p) Источник | Начиная с: 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) -> Rec1 f p -> c (Rec1 f p) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Rec1 f p) Источник toConstr :: Rec1 f p -> Constr Источник dataTypeOf :: Rec1 f p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Rec1 f p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Rec1 f p)) Источник gmapT :: (forall b. Data b => b -> b) -> Rec1 f p -> Rec1 f p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Rec1 f p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Rec1 f p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> Rec1 f p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> Rec1 f p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> Rec1 f p -> m (Rec1 f p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Rec1 f p -> m (Rec1 f p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Rec1 f p -> m (Rec1 f p) Источник | |
| (Foldable f, Foldable g) => Foldable (Product f g) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product Методыfold :: Monoid m => Product f g m -> m Источник foldMap :: Monoid m => (a -> m) -> Product f g a -> m Источник foldMap' :: Monoid m => (a -> m) -> Product f g a -> m Источник foldr :: (a -> b -> b) -> b -> Product f g a -> b Источник foldr' :: (a -> b -> b) -> b -> Product f g a -> b Источник foldl :: (b -> a -> b) -> b -> Product f g a -> b Источник foldl' :: (b -> a -> b) -> b -> Product f g a -> b Источник foldr1 :: (a -> a -> a) -> Product f g a -> a Источник foldl1 :: (a -> a -> a) -> Product f g a -> a Источник toList :: Product f g a -> [a] Источник null :: Product f g a -> Bool Источник length :: Product f g a -> Int Источник elem :: Eq a => a -> Product f g a -> Bool Источник maximum :: Ord a => Product f g a -> a Источник minimum :: Ord a => Product f g a -> a Источник | |
| (Foldable f, Foldable g) => Foldable (Sum f g) Источник | С версии: base-4.9.0.0 |
Определено в Data.Functor.Sum Методыfold :: Monoid m => Sum f g m -> m Источник foldMap :: Monoid m => (a -> m) -> Sum f g a -> m Источник foldMap' :: Monoid m => (a -> m) -> Sum f g a -> m Источник foldr :: (a -> b -> b) -> b -> Sum f g a -> b Источник foldr' :: (a -> b -> b) -> b -> Sum f g a -> b Источник foldl :: (b -> a -> b) -> b -> Sum f g a -> b Источник foldl' :: (b -> a -> b) -> b -> Sum f g a -> b Источник foldr1 :: (a -> a -> a) -> Sum f g a -> a Источник foldl1 :: (a -> a -> a) -> Sum f g a -> a Источник toList :: Sum f g a -> [a] Источник null :: Sum f g a -> Bool Источник length :: Sum f g a -> Int Источник elem :: Eq a => a -> Sum f g a -> Bool Источник maximum :: Ord a => Sum f g a -> a Источник minimum :: Ord a => Sum f g a -> a Источник | |
| (Foldable f, Foldable g) => Foldable (f :*: g) Источник | С версии: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => (f :*: g) m -> m Источник foldMap :: Monoid m => (a -> m) -> (f :*: g) a -> m Источник foldMap' :: Monoid m => (a -> m) -> (f :*: g) a -> m Источник foldr :: (a -> b -> b) -> b -> (f :*: g) a -> b Источник foldr' :: (a -> b -> b) -> b -> (f :*: g) a -> b Источник foldl :: (b -> a -> b) -> b -> (f :*: g) a -> b Источник foldl' :: (b -> a -> b) -> b -> (f :*: g) a -> b Источник foldr1 :: (a -> a -> a) -> (f :*: g) a -> a Источник foldl1 :: (a -> a -> a) -> (f :*: g) a -> a Источник toList :: (f :*: g) a -> [a] Источник null :: (f :*: g) a -> Bool Источник length :: (f :*: g) a -> Int Источник elem :: Eq a => a -> (f :*: g) a -> Bool Источник maximum :: Ord a => (f :*: g) a -> a Источник minimum :: Ord a => (f :*: g) a -> a Источник | |
| (Foldable f, Foldable g) => Foldable (f :+: g) Источник | С версии: base-4.9.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => (f :+: g) m -> m Источник foldMap :: Monoid m => (a -> m) -> (f :+: g) a -> m Источник foldMap' :: Monoid m => (a -> m) -> (f :+: g) a -> m Источник foldr :: (a -> b -> b) -> b -> (f :+: g) a -> b Источник foldr' :: (a -> b -> b) -> b -> (f :+: g) a -> b Источник foldl :: (b -> a -> b) -> b -> (f :+: g) a -> b Источник foldl' :: (b -> a -> b) -> b -> (f :+: g) a -> b Источник foldr1 :: (a -> a -> a) -> (f :+: g) a -> a Источник foldl1 :: (a -> a -> a) -> (f :+: g) a -> a Источник toList :: (f :+: g) a -> [a] Источник null :: (f :+: g) a -> Bool Источник length :: (f :+: g) a -> Int Источник elem :: Eq a => a -> (f :+: g) a -> Bool Источник maximum :: Ord a => (f :+: g) a -> a Источник minimum :: Ord a => (f :+: g) a -> a Источник | |
| Foldable (K1 i c :: Type -> Type) Источник | С версии: base-4.9.0.0 |
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => K1 i c m -> m Исходный код foldMap :: Monoid m => (a -> m) -> K1 i c a -> m Исходный код foldMap' :: Monoid m => (a -> m) -> K1 i c a -> m Исходный код foldr :: (a -> b -> b) -> b -> K1 i c a -> b Исходный код foldr' :: (a -> b -> b) -> b -> K1 i c a -> b Исходный код foldl :: (b -> a -> b) -> b -> K1 i c a -> b Исходный код foldl' :: (b -> a -> b) -> b -> K1 i c a -> b Исходный код foldr1 :: (a -> a -> a) -> K1 i c a -> a Исходный код foldl1 :: (a -> a -> a) -> K1 i c a -> a Исходный код toList :: K1 i c a -> [a] Исходный код null :: K1 i c a -> Bool Исходный код length :: K1 i c a -> Int Исходный код elem :: Eq a => a -> K1 i c a -> Bool Исходный код maximum :: Ord a => K1 i c a -> a Исходный код minimum :: Ord a => K1 i c a -> a Исходный код sum :: Num a => K1 i c a -> a Исходный код product :: Num a => K1 i c a -> a Исходный код | |
| (Traversable f, Traversable g) => Traversable (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определён в Data.Functor.Product Методыtraverse :: Applicative f0 => (a -> f0 b) -> Product f g a -> f0 (Product f g b) Исходный код sequenceA :: Applicative f0 => Product f g (f0 a) -> f0 (Product f g a) Исходный код mapM :: Monad m => (a -> m b) -> Product f g a -> m (Product f g b) Исходный код sequence :: Monad m => Product f g (m a) -> m (Product f g a) Исходный код | |
| (Traversable f, Traversable g) => Traversable (Sum f g) Исходный код | Начиная с: base-4.9.0.0 |
Определён в Data.Functor.Sum Методыtraverse :: Applicative f0 => (a -> f0 b) -> Sum f g a -> f0 (Sum f g b) Исходный код sequenceA :: Applicative f0 => Sum f g (f0 a) -> f0 (Sum f g a) Исходный код mapM :: Monad m => (a -> m b) -> Sum f g a -> m (Sum f g b) Исходный код sequence :: Monad m => Sum f g (m a) -> m (Sum f g a) Исходный код | |
| (Traversable f, Traversable g) => Traversable (f :*: g) Исходный код | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f0 => (a -> f0 b) -> (f :*: g) a -> f0 ((f :*: g) b) Исходный код sequenceA :: Applicative f0 => (f :*: g) (f0 a) -> f0 ((f :*: g) a) Исходный код mapM :: Monad m => (a -> m b) -> (f :*: g) a -> m ((f :*: g) b) Исходный код sequence :: Monad m => (f :*: g) (m a) -> m ((f :*: g) a) Исходный код | |
| (Traversable f, Traversable g) => Traversable (f :+: g) Исходный код | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f0 => (a -> f0 b) -> (f :+: g) a -> f0 ((f :+: g) b) Исходный код sequenceA :: Applicative f0 => (f :+: g) (f0 a) -> f0 ((f :+: g) a) Исходный код mapM :: Monad m => (a -> m b) -> (f :+: g) a -> m ((f :+: g) b) Исходный код sequence :: Monad m => (f :+: g) (m a) -> m ((f :+: g) a) Исходный код | |
| Traversable (K1 i c :: Type -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> K1 i c a -> f (K1 i c b) Исходный код sequenceA :: Applicative f => K1 i c (f a) -> f (K1 i c a) Исходный код mapM :: Monad m => (a -> m b) -> K1 i c a -> m (K1 i c b) Исходный код sequence :: Monad m => K1 i c (m a) -> m (K1 i c a) Исходный код | |
| (Applicative f, Bounded a) => Bounded (Ap f a) Исходный код | Начиная с: base-4.12.0.0 |
Определён в GHC.Internal.Data.Monoid | |
| (Applicative f, Num a) => Num (Ap f a) Исходный код |
Обратите внимание: даже если базовые экземпляры Коммутативность: >>> 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 Исходный код | |
| (Foldable1 f, Foldable1 g) => Foldable1 (Compose f g) Исходный код | Начиная с: base-4.18.0.0 |
Определён в Data.Foldable1 Методыfold1 :: Semigroup m => Compose f g m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> Compose f g a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> Compose f g a -> m Исходный код toNonEmpty :: Compose f g a -> NonEmpty a Исходный код maximum :: Ord a => Compose f g a -> a Исходный код minimum :: Ord a => Compose f g a -> a Исходный код head :: Compose f g a -> a Исходный код last :: Compose f g a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> Compose f g a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> Compose f g a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> Compose f g a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> Compose f g a -> b Исходный код | |
| (Foldable1 f, Foldable1 g) => Foldable1 (f :.: g) Источник | Начиная с: base-4.18.0.0 |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => (f :.: g) m -> m Источник foldMap1 :: Semigroup m => (a -> m) -> (f :.: g) a -> m Источник foldMap1' :: Semigroup m => (a -> m) -> (f :.: g) a -> m Источник toNonEmpty :: (f :.: g) a -> NonEmpty a Источник maximum :: Ord a => (f :.: g) a -> a Источник minimum :: Ord a => (f :.: g) a -> a Источник head :: (f :.: g) a -> a Источник last :: (f :.: g) a -> a Источник foldrMap1 :: (a -> b) -> (a -> b -> b) -> (f :.: g) a -> b Источник foldlMap1' :: (a -> b) -> (b -> a -> b) -> (f :.: g) a -> b Источник foldlMap1 :: (a -> b) -> (b -> a -> b) -> (f :.: g) a -> b Источник foldrMap1' :: (a -> b) -> (a -> b -> b) -> (f :.: g) a -> b Источник | |
| Foldable1 f => Foldable1 (M1 i c f) Источник | Начиная с: base-4.18.0.0 |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => M1 i c f m -> m Источник foldMap1 :: Semigroup m => (a -> m) -> M1 i c f a -> m Источник foldMap1' :: Semigroup m => (a -> m) -> M1 i c f a -> m Источник toNonEmpty :: M1 i c f a -> NonEmpty a Источник maximum :: Ord a => M1 i c f a -> a Источник minimum :: Ord a => M1 i c f a -> a Источник head :: M1 i c f a -> a Источник last :: M1 i c f a -> a Источник foldrMap1 :: (a -> b) -> (a -> b -> b) -> M1 i c f a -> b Источник foldlMap1' :: (a -> b) -> (b -> a -> b) -> M1 i c f a -> b Источник foldlMap1 :: (a -> b) -> (b -> a -> b) -> M1 i c f a -> b Источник foldrMap1' :: (a -> b) -> (a -> b -> b) -> M1 i c f a -> b Источник | |
| (Eq1 f, Eq1 g) => Eq1 (Compose f g) Источник | Начиная с: base-4.9.0.0 |
| (Eq1 f, Eq1 g) => Eq1 (f :.: g) Источник | Начиная с: base-4.21.0.0 |
| Eq1 f => Eq1 (M1 i c f) Источник | Начиная с: base-4.21.0.0 |
| (Ord1 f, Ord1 g) => Ord1 (Compose f g) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Compose | |
| (Ord1 f, Ord1 g) => Ord1 (f :.: g) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| Ord1 f => Ord1 (M1 i c f) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes | |
| (Read1 f, Read1 g) => Read1 (Compose f g) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Compose МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Compose f g a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Compose f g a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Compose f g a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Compose f g a] Источник | |
| (Read1 f, Read1 g) => Read1 (f :.: g) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS ((f :.: g) a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [(f :.: g) a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec ((f :.: g) a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [(f :.: g) a] Источник | |
| Read1 f => Read1 (M1 i c f) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (M1 i c f a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [M1 i c f a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (M1 i c f a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [M1 i c f a] Источник | |
| (Show1 f, Show1 g) => Show1 (Compose f g) Источник | Начиная с: base-4.9.0.0 |
| (Show1 f, Show1 g) => Show1 (f :.: g) Источник | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> (f :.: g) a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [(f :.: g) a] -> ShowS Исходный код | |
| Show1 f => Show1 (M1 i c f) Исходный код | Начиная с: base-4.21.0.0 |
Определено в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> M1 i c f a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [M1 i c f a] -> ShowS Исходный код | |
| (Functor f, Contravariant g) => Contravariant (Compose f g) Исходный код | |
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> Compose f g a -> Compose f g a' Исходный код (>$) :: b -> Compose f g b -> Compose f g a Исходный код | |
| (Functor f, Contravariant g) => Contravariant (f :.: g) Исходный код | |
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> (f :.: g) a -> (f :.: g) a' Исходный код (>$) :: b -> (f :.: g) b -> (f :.: g) a Исходный код | |
| Contravariant f => Contravariant (M1 i c f) Исходный код | |
Определено в Data.Functor.Contravariant Методыcontramap :: (a' -> a) -> M1 i c f a -> M1 i c f a' Исходный код (>$) :: b -> M1 i c f b -> M1 i c f a Исходный код | |
| (Alternative f, Applicative g) => Alternative (Compose f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Compose Методыempty :: Compose f g a Исходный код (<|>) :: Compose f g a -> Compose f g a -> Compose f g a Исходный код some :: Compose f g a -> Compose f g [a] Исходный код many :: Compose f g a -> Compose f g [a] Исходный код | |
| (Alternative f, Applicative g) => Alternative (f :.: g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыempty :: (f :.: g) a Исходный код (<|>) :: (f :.: g) a -> (f :.: g) a -> (f :.: g) a Исходный код some :: (f :.: g) a -> (f :.: g) [a] Исходный код many :: (f :.: g) a -> (f :.: g) [a] Исходный код | |
| Alternative f => Alternative (M1 i c f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыempty :: M1 i c f a Исходный код (<|>) :: M1 i c f a -> M1 i c f a -> M1 i c f a Исходный код some :: M1 i c f a -> M1 i c f [a] Исходный код many :: M1 i c f a -> M1 i c f [a] Исходный код | |
| (Applicative f, Applicative g) => Applicative (Compose f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Compose Методыpure :: a -> Compose f g a Исходный код (<*>) :: Compose f g (a -> b) -> Compose f g a -> Compose f g b Исходный код liftA2 :: (a -> b -> c) -> Compose f g a -> Compose f g b -> Compose f g c Исходный код (*>) :: Compose f g a -> Compose f g b -> Compose f g b Исходный код (<*) :: Compose f g a -> Compose f g b -> Compose f g a Исходный код | |
| (Applicative f, Applicative g) => Applicative (f :.: g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыpure :: a -> (f :.: g) a Исходный код (<*>) :: (f :.: g) (a -> b) -> (f :.: g) a -> (f :.: g) b Исходный код liftA2 :: (a -> b -> c) -> (f :.: g) a -> (f :.: g) b -> (f :.: g) c Исходный код (*>) :: (f :.: g) a -> (f :.: g) b -> (f :.: g) b Исходный код (<*) :: (f :.: g) a -> (f :.: g) b -> (f :.: g) a Исходный код | |
| Applicative f => Applicative (M1 i c f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыpure :: a -> M1 i c f a Исходный код (<*>) :: M1 i c f (a -> b) -> M1 i c f a -> M1 i c f b Исходный код liftA2 :: (a -> b -> c0) -> M1 i c f a -> M1 i c f b -> M1 i c f c0 Исходный код (*>) :: M1 i c f a -> M1 i c f b -> M1 i c f b Исходный код (<*) :: M1 i c f a -> M1 i c f b -> M1 i c f a Исходный код | |
| (Functor f, Functor g) => Functor (Compose f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Compose Методыfmap :: (a -> b) -> Compose f g a -> Compose f g b Исходный код (<$) :: a -> Compose f g b -> Compose f g a Исходный код | |
| (Functor f, Functor g) => Functor (f :.: g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыfmap :: (a -> b) -> (f :.: g) a -> (f :.: g) b Исходный код (<$) :: a -> (f :.: g) b -> (f :.: g) a Исходный код | |
| Functor f => Functor (M1 i c f) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics Методыfmap :: (a -> b) -> M1 i c f a -> M1 i c f b Исходный код (<$) :: a -> M1 i c f b -> M1 i c f a Исходный код | |
| Monad f => Monad (M1 i c f) Исходный код | Начиная с: base-4.9.0.0 |
| MonadPlus f => MonadPlus (M1 i c f) Источник | Начиная с: base-4.9.0.0 |
| MonadFix f => MonadFix (M1 i c f) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Control.Monad.Fix | |
| MonadZip f => MonadZip (M1 i c f) Источник | Начиная с: ghc-internal-4.9.0.0 |
| (Typeable f, Typeable g, Data p, Data (f p), Data (g p)) => Data ((f :*: g) p) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g0. g0 -> c g0) -> (f :*: g) p -> c ((f :*: g) p) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ((f :*: g) p) Источник toConstr :: (f :*: g) p -> Constr Источник dataTypeOf :: (f :*: g) p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ((f :*: g) p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ((f :*: g) p)) Источник gmapT :: (forall b. Data b => b -> b) -> (f :*: g) p -> (f :*: g) p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (f :*: g) p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (f :*: g) p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> (f :*: g) p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> (f :*: g) p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> (f :*: g) p -> m ((f :*: g) p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :*: g) p -> m ((f :*: g) p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :*: g) p -> m ((f :*: g) p) Источник | |
| (Typeable f, Typeable g, Data p, Data (f p), Data (g p)) => Data ((f :+: g) p) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g0. g0 -> c g0) -> (f :+: g) p -> c ((f :+: g) p) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ((f :+: g) p) Источник toConstr :: (f :+: g) p -> Constr Источник dataTypeOf :: (f :+: g) p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ((f :+: g) p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ((f :+: g) p)) Источник gmapT :: (forall b. Data b => b -> b) -> (f :+: g) p -> (f :+: g) p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (f :+: g) p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (f :+: g) p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> (f :+: g) p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> (f :+: g) p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> (f :+: g) p -> m ((f :+: g) p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :+: g) p -> m ((f :+: g) p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :+: g) p -> m ((f :+: g) p) Источник | |
| (Typeable i, Data p, Data c) => Data (K1 i c p) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> (forall g. g -> c0 g) -> K1 i c p -> c0 (K1 i c p) Источник gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (K1 i c p) Источник toConstr :: K1 i c p -> Constr Источник dataTypeOf :: K1 i c p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (K1 i c p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (K1 i c p)) Источник gmapT :: (forall b. Data b => b -> b) -> K1 i c p -> K1 i c p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> K1 i c p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> K1 i c p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> K1 i c p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> K1 i c p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> K1 i c p -> m (K1 i c p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> K1 i c p -> m (K1 i c p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> K1 i c p -> m (K1 i c p) Источник | |
| (Foldable f, Foldable g) => Foldable (Compose f g) Источник | Начиная с: base-4.9.0.0 |
Определён в Data.Functor.Compose Методыfold :: Monoid m => Compose f g m -> m Источник foldMap :: Monoid m => (a -> m) -> Compose f g a -> m Источник foldMap' :: Monoid m => (a -> m) -> Compose f g a -> m Источник foldr :: (a -> b -> b) -> b -> Compose f g a -> b Источник foldr' :: (a -> b -> b) -> b -> Compose f g a -> b Источник foldl :: (b -> a -> b) -> b -> Compose f g a -> b Источник foldl' :: (b -> a -> b) -> b -> Compose f g a -> b Источник foldr1 :: (a -> a -> a) -> Compose f g a -> a Источник foldl1 :: (a -> a -> a) -> Compose f g a -> a Источник toList :: Compose f g a -> [a] Источник null :: Compose f g a -> Bool Источник length :: Compose f g a -> Int Источник elem :: Eq a => a -> Compose f g a -> Bool Источник maximum :: Ord a => Compose f g a -> a Источник minimum :: Ord a => Compose f g a -> a Источник | |
| (Foldable f, Foldable g) => Foldable (f :.: g) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => (f :.: g) m -> m Источник foldMap :: Monoid m => (a -> m) -> (f :.: g) a -> m Источник foldMap' :: Monoid m => (a -> m) -> (f :.: g) a -> m Источник foldr :: (a -> b -> b) -> b -> (f :.: g) a -> b Источник foldr' :: (a -> b -> b) -> b -> (f :.: g) a -> b Источник foldl :: (b -> a -> b) -> b -> (f :.: g) a -> b Источник foldl' :: (b -> a -> b) -> b -> (f :.: g) a -> b Источник foldr1 :: (a -> a -> a) -> (f :.: g) a -> a Источник foldl1 :: (a -> a -> a) -> (f :.: g) a -> a Источник toList :: (f :.: g) a -> [a] Источник null :: (f :.: g) a -> Bool Источник length :: (f :.: g) a -> Int Источник elem :: Eq a => a -> (f :.: g) a -> Bool Источник maximum :: Ord a => (f :.: g) a -> a Источник minimum :: Ord a => (f :.: g) a -> a Источник | |
| Foldable f => Foldable (M1 i c f) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => M1 i c f m -> m Источник foldMap :: Monoid m => (a -> m) -> M1 i c f a -> m Источник foldMap' :: Monoid m => (a -> m) -> M1 i c f a -> m Источник foldr :: (a -> b -> b) -> b -> M1 i c f a -> b Источник foldr' :: (a -> b -> b) -> b -> M1 i c f a -> b Источник foldl :: (b -> a -> b) -> b -> M1 i c f a -> b Источник foldl' :: (b -> a -> b) -> b -> M1 i c f a -> b Источник foldr1 :: (a -> a -> a) -> M1 i c f a -> a Источник foldl1 :: (a -> a -> a) -> M1 i c f a -> a Источник toList :: M1 i c f a -> [a] Источник null :: M1 i c f a -> Bool Источник length :: M1 i c f a -> Int Источник elem :: Eq a => a -> M1 i c f a -> Bool Источник maximum :: Ord a => M1 i c f a -> a Источник minimum :: Ord a => M1 i c f a -> a Источник | |
| (Traversable f, Traversable g) => Traversable (Compose f g) Источник | Начиная с: base-4.9.0.0 |
Определён в Data.Functor.Compose Методыtraverse :: Applicative f0 => (a -> f0 b) -> Compose f g a -> f0 (Compose f g b) Источник sequenceA :: Applicative f0 => Compose f g (f0 a) -> f0 (Compose f g a) Источник mapM :: Monad m => (a -> m b) -> Compose f g a -> m (Compose f g b) Источник sequence :: Monad m => Compose f g (m a) -> m (Compose f g a) Источник | |
| (Traversable f, Traversable g) => Traversable (f :.: g) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f0 => (a -> f0 b) -> (f :.: g) a -> f0 ((f :.: g) b) Источник sequenceA :: Applicative f0 => (f :.: g) (f0 a) -> f0 ((f :.: g) a) Источник mapM :: Monad m => (a -> m b) -> (f :.: g) a -> m ((f :.: g) b) Источник sequence :: Monad m => (f :.: g) (m a) -> m ((f :.: g) a) Источник | |
| Traversable f => Traversable (M1 i c f) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f0 => (a -> f0 b) -> M1 i c f a -> f0 (M1 i c f b) Источник sequenceA :: Applicative f0 => M1 i c f (f0 a) -> f0 (M1 i c f a) Источник mapM :: Monad m => (a -> m b) -> M1 i c f a -> m (M1 i c f b) Источник sequence :: Monad m => M1 i c f (m a) -> m (M1 i c f a) Источник | |
| (Typeable f, Typeable g, Data p, Data (f (g p))) => Data ((f :.: g) p) Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g0. g0 -> c g0) -> (f :.: g) p -> c ((f :.: g) p) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ((f :.: g) p) Источник toConstr :: (f :.: g) p -> Constr Источник dataTypeOf :: (f :.: g) p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ((f :.: g) p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ((f :.: g) p)) Источник gmapT :: (forall b. Data b => b -> b) -> (f :.: g) p -> (f :.: g) p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (f :.: g) p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (f :.: g) p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> (f :.: g) p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> (f :.: g) p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> (f :.: g) p -> m ((f :.: g) p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :.: g) p -> m ((f :.: g) p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :.: g) p -> m ((f :.: g) p) Источник | |
| (Data p, Data (f p), Typeable c, Typeable i, Typeable f) => Data (M1 i c f p) Источник | С версии: base-4.9.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> (forall g. g -> c0 g) -> M1 i c f p -> c0 (M1 i c f p) Источник gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (M1 i c f p) Источник toConstr :: M1 i c f p -> Constr Источник dataTypeOf :: M1 i c f p -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (M1 i c f p)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (M1 i c f p)) Источник gmapT :: (forall b. Data b => b -> b) -> M1 i c f p -> M1 i c f p Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> M1 i c f p -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> M1 i c f p -> r Источник gmapQ :: (forall d. Data d => d -> u) -> M1 i c f p -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> M1 i c f p -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) Источник | |
| type Rep1 Complex Источник | С версии: base-4.9.0.0 |
Определено в Data.Complex type Rep1 Complex = D1 ('MetaData "Complex" "Data.Complex" "base-4.22.0.0-66f8" 'False) (C1 ('MetaCons ":+" ('InfixI 'NotAssociative 6) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)) | |
| type Rep1 First Источник | С версии: base-4.9.0.0 |
Определено в Data.Semigroup | |
| type Rep1 Last Источник | С версии: base-4.9.0.0 |
Определено в Data.Semigroup | |
| type Rep1 Max Источник | С версии: base-4.9.0.0 |
Определено в Data.Semigroup | |
| type Rep1 Min Источник | С версии: base-4.9.0.0 |
Определено в Data.Semigroup | |
| type Rep1 WrappedMonoid Источник | С версии: base-4.9.0.0 |
Определено в Data.Semigroup type Rep1 WrappedMonoid = D1 ('MetaData "WrappedMonoid" "Data.Semigroup" "base-4.22.0.0-66f8" 'True) (C1 ('MetaCons "WrapMonoid" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonoid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) | |
| type Rep1 NonEmpty Источник | С версии: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 NonEmpty = D1 ('MetaData "NonEmpty" "GHC.Internal.Base" "ghc-internal" 'False) (C1 ('MetaCons ":|" ('InfixI 'RightAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 []))) | |
| type Rep1 Identity Источник | С версии: base-4.8.0.0 |
Определено в GHC.Internal.Data.Functor.Identity | |
| type Rep1 First Источник | С версии: base-4.7.0.0 |
Определено в GHC.Internal.Data.Monoid | |
| type Rep1 Last Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Monoid | |
| type Rep1 Down Источник | Начиная с: base-4.12.0.0 |
Определено в GHC.Internal.Generics | |
| type Rep1 Dual Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Semigroup.Internal | |
| type Rep1 Product Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Semigroup.Internal | |
| type Rep1 Sum Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Data.Semigroup.Internal | |
| type Rep1 ZipList Источник | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Functor.ZipList | |
| type Rep1 Par1 Источник | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| type Rep1 Maybe Источник | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics | |
| type Rep1 Solo Источник | Начиная с: base-4.15 |
Определено в GHC.Internal.Generics | |
| type Rep1 [] Источник | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 [] = D1 ('MetaData "List" "GHC.Internal.Types" "ghc-internal" 'False) (C1 ('MetaCons "[]" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons ":" ('InfixI 'RightAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 []))) | |
| type Rep1 (WrappedMonad m :: Type -> Type) Источник | Начиная с: base-4.7.0.0 |
Определено в Control.Applicative type Rep1 (WrappedMonad m :: Type -> Type) = D1 ('MetaData "WrappedMonad" "Control.Applicative" "base-4.22.0.0-66f8" 'True) (C1 ('MetaCons "WrapMonad" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonad") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 m))) | |
| type Rep1 (Arg a :: Type -> Type) Источник | Начиная с: base-4.9.0.0 |
Определено в Data.Semigroup type Rep1 (Arg a :: Type -> Type) = D1 ('MetaData "Arg" "Data.Semigroup" "base-4.22.0.0-66f8" 'False) (C1 ('MetaCons "Arg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) | |
| type Rep1 (Either a :: Type -> Type) Источник | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 (Either a :: Type -> Type) = D1 ('MetaData "Either" "GHC.Internal.Data.Either" "ghc-internal" 'False) (C1 ('MetaCons "Left" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Right" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) | |
| type Rep1 ((,) a :: Type -> Type) Источник | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,) a :: Type -> Type) = D1 ('MetaData "Tuple2" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,)" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) | |
| type Rep1 (WrappedArrow a b :: Type -> Type) Исходный код | Начиная с: base-4.7.0.0 |
Определено в Control.Applicative type Rep1 (WrappedArrow a b :: Type -> Type) = D1 ('MetaData "WrappedArrow" "Control.Applicative" "base-4.22.0.0-66f8" 'True) (C1 ('MetaCons "WrapArrow" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapArrow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 (a b)))) | |
| type Rep1 (Kleisli m a :: Type -> Type) Исходный код | Начиная с: base-4.14.0.0 |
Определено в GHC.Internal.Control.Arrow | |
| type Rep1 ((,,) a b :: Type -> Type) Исходный код | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,) a b :: Type -> Type) = D1 ('MetaData "Tuple3" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,)" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))) | |
| type Rep1 ((,,,) a b c :: Type -> Type) Исходный код | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,) a b c :: Type -> Type) = D1 ('MetaData "Tuple4" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,)" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))) | |
| type Rep1 ((,,,,) a b c d :: Type -> Type) Исходный код | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,) a b c d :: Type -> Type) = D1 ('MetaData "Tuple5" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,)" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))) | |
| type Rep1 (Compose f g :: k -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Compose | |
| type Rep1 (f :.: g :: k -> Type) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| type Rep1 ((,,,,,) a b c d e :: Type -> Type) Исходный код | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,) a b c d e :: Type -> Type) = D1 ('MetaData "Tuple6" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,)" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))) | |
| type Rep1 ((,,,,,,) a b c d e f :: Type -> Type) Исходный код | Начиная с: base-4.6.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,) a b c d e f :: Type -> Type) = D1 ('MetaData "Tuple7" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,)" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))) | |
| type Rep1 ((,,,,,,,) a b c d e f g :: Type -> Type) Исходный код | Начиная с: base-4.16.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,,) a b c d e f g :: Type -> Type) = D1 ('MetaData "Tuple8" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))) | |
| type Rep1 ((,,,,,,,,) a b c d e f g h :: Type -> Type) Исходный код | Начиная с: base-4.16.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,,,) a b c d e f g h :: Type -> Type) = D1 ('MetaData "Tuple9" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) | |
| type Rep1 ((,,,,,,,,,) a b c d e f g h i :: Type -> Type) Исходный код | Начиная с: base-4.16.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,,,,) a b c d e f g h i :: Type -> Type) = D1 ('MetaData "Tuple10" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) | |
| type Rep1 ((,,,,,,,,,,) a b c d e f g h i j :: Type -> Type) Исходный код | Начиная с: base-4.16.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,,,,,) a b c d e f g h i j :: Type -> Type) = D1 ('MetaData "Tuple11" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) | |
| type Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k :: Type -> Type) Исходный код | Начиная с: base-4.16.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k :: Type -> Type) = D1 ('MetaData "Tuple12" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) | |
| type Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l :: Type -> Type) Исходный код | Начиная с: base-4.16.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l :: Type -> Type) = D1 ('MetaData "Tuple13" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) | |
| type Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m :: Type -> Type) Исходный код | Начиная с: base-4.16.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m :: Type -> Type) = D1 ('MetaData "Tuple14" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 m) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) | |
| type Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n :: Type -> Type) Исходный код | С версии: base-4.16.0.0 |
Определено в GHC.Internal.Generics type Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n :: Type -> Type) = D1 ('MetaData "Tuple15" "GHC.Internal.Tuple" "ghc-internal" 'False) (C1 ('MetaCons "(,,,,,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g)))) :*: (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 m)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 n) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))) | |
data ThreadId# :: UnliftedType Исходный код
(В реализации без параллелизма это может быть одноэлементный тип, единственное значение которого возвращается функцией myThreadId#. Остальные операции можно опустить.)
data Weak# (a :: TYPE ('BoxedRep l)) :: UnliftedType Исходный код
data Word# :: TYPE 'WordRep Исходный код
Экземпляры
| Lift Word# Исходный код | С версии: template-haskell-2.16.0.0 |
Определено в GHC.Internal.TH.Lift | |
data Word16# :: TYPE 'Word16Rep Исходный код
data Word16X16# :: TYPE ('VecRep 'Vec16 'Word16ElemRep) Исходный код
data Word16X32# :: TYPE ('VecRep 'Vec32 'Word16ElemRep) Исходный код
data Word16X8# :: TYPE ('VecRep 'Vec8 'Word16ElemRep) Исходный код
data Word32# :: TYPE 'Word32Rep Исходный код
data Word32X16# :: TYPE ('VecRep 'Vec16 'Word32ElemRep) Исходный код
data Word32X4# :: TYPE ('VecRep 'Vec4 'Word32ElemRep) Исходный код
data Word32X8# :: TYPE ('VecRep 'Vec8 'Word32ElemRep) Исходный код
data Word64# :: TYPE 'Word64Rep Исходный код
data Word64X2# :: TYPE ('VecRep 'Vec2 'Word64ElemRep) Исходный код
data Word64X4# :: TYPE ('VecRep 'Vec4 'Word64ElemRep) Исходный код
data Word64X8# :: TYPE ('VecRep 'Vec8 'Word64ElemRep) Исходный код
data Word8# :: TYPE 'Word8Rep Исходный код
data Word8X16# :: TYPE ('VecRep 'Vec16 'Word8ElemRep) Исходный код
data Word8X32# :: TYPE ('VecRep 'Vec32 'Word8ElemRep) Исходный код
data Word8X64# :: TYPE ('VecRep 'Vec64 'Word8ElemRep) Исходный код
module GHC.Internal.Prim.Ext
Запуск потока состояния RealWorld
runRW# :: (State# RealWorld -> o) -> o Исходный код
Применяет функцию к токену State# RealWorld. При ручном применении функции к realWorld# необходимо использовать NOINLINE, чтобы предотвратить семантически нежелательное перемещение. runRW# встраивается, но лишь на очень позднем этапе компиляции, после завершения всех перемещений.
Операции сдвига битов
shiftL# :: Word# -> Int# -> Word# Исходный код
Сдвигает аргумент влево на указанное число битов (оно должно быть неотрицательным).
shiftRL# :: Word# -> Int# -> Word# Исходный код
Сдвигает аргумент вправо на указанное число битов (оно должно быть неотрицательным). RL означает «вправо, логический» (в отличие от RA — арифметического сдвига; хотя арифметический сдвиг вправо не имел бы смысла для Word#).
iShiftL# :: Int# -> Int# -> Int# Исходный код
Сдвигает аргумент влево на указанное число битов (оно должно быть неотрицательным).
iShiftRA# :: Int# -> Int# -> Int# Исходный код
Сдвигает аргумент вправо (со знаком) на указанное число битов (оно должно быть неотрицательным). RA означает «вправо, арифметический» (в отличие от RL — логического).
iShiftRL# :: Int# -> Int# -> Int# Исходный код
Сдвигает аргумент вправо (без знака) на указанное число битов (оно должно быть неотрицательным). RL означает «вправо, логический» (в отличие от RA — арифметического).
Операции сравнения указателей
reallyUnsafePtrEquality :: a -> a -> Int# Исходный код
Сравнивает на равенство базовые указатели двух значений.
Возвращает 1, если указатели равны, и 0 в противном случае.
Два значения должны иметь один и тот же тип вида Type. См. также reallyUnsafePtrEquality#, у которого таких ограничений нет.
unsafePtrEquality# :: forall (a :: UnliftedType) (b :: UnliftedType). a -> b -> Int# Исходный код
Сравнивает на равенство базовые указатели двух нес lifted-значений.
Это менее опасно, чем reallyUnsafePtrEquality, поскольку аргументы гарантированно вычислены. Это означает, что нет риска случайно сравнить thunk. Однако это всё ещё опаснее, чем, например, sameArray#.
eqStableName# :: forall {k :: Levity} {l :: Levity} (a :: TYPE ('BoxedRep k)) (b :: TYPE ('BoxedRep l)). StableName# a -> StableName# b -> Int# Исходный код
Сравнивает два стабильных имени на равенство.
sameArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). Array# a -> Array# a -> Int# Исходный код
Сравнивает базовые указатели двух массивов.
sameMutableArray# :: forall {l :: Levity} s (a :: TYPE ('BoxedRep l)). MutableArray# s a -> MutableArray# s a -> Int# Исходный код
Сравнивает базовые указатели двух изменяемых массивов.
sameSmallArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). SmallArray# a -> SmallArray# a -> Int# Исходный код
Сравнивает базовые указатели двух небольших массивов.
sameSmallMutableArray# :: forall {l :: Levity} s (a :: TYPE ('BoxedRep l)). SmallMutableArray# s a -> SmallMutableArray# s a -> Int# Исходный код
Сравнивает базовые указатели двух небольших изменяемых массивов.
sameByteArray# :: ByteArray# -> ByteArray# -> Int# Исходный код
Сравнивает указатели двух байтовых массивов.
sameMutableByteArray# :: MutableByteArray# s -> MutableByteArray# s -> Int# Исходный код
Сравнивает базовые указатели двух изменяемых байтовых массивов.
sameMVar# :: forall {l :: Levity} s (a :: TYPE ('BoxedRep l)). MVar# s a -> MVar# s a -> Int# Исходный код
Сравнивает базовые указатели двух MVar#.
sameMutVar# :: forall {l :: Levity} s (a :: TYPE ('BoxedRep l)). MutVar# s a -> MutVar# s a -> Int# Исходный код
Сравнивает базовые указатели двух MutVar#.
sameTVar# :: forall {l :: Levity} s (a :: TYPE ('BoxedRep l)). TVar# s a -> TVar# s a -> Int# Исходный код
Сравнивает базовые указатели двух TVar#.
samePromptTag# :: PromptTag# a -> PromptTag# a -> Int# Исходный код
Сравнивает базовые указатели двух PromptTag#.
Обёртка совместимости
atomicModifyMutVar# :: MutVar# s a -> (a -> b) -> State# s -> (# State# s, c #) Исходный код
Реализация старой примитивной операции atomicModifyMutVar# с помощью новой примитивной операции atomicModifyMutVar2# для обратной совместимости. Тип этой функции несколько сомнителен. Лучше считать, что у неё следующий тип:
atomicModifyMutVar# :: MutVar# s a -> (a -> (a, b)) -> State# s -> (# State# s, b #)
однако может существовать код, использующий её с другими типами записей с двумя полями.
Функции изменения размера
Изменение размера массивов упакованных элементов сейчас обрабатывается на уровне библиотек (а не как примитивная операция), поскольку эффективного способа увеличивать массивы нет. Однако в одном из будущих выпусков GHC операции изменения размера могут стать примитивными.
resizeSmallMutableArray# Исходный код
Аргументы
| :: SmallMutableArray# s a | Массив, размер которого нужно изменить |
| -> Int# | Новый размер массива |
| -> a | Этим элементом инициализируются вновь созданные ячейки. Используется только при увеличении массива. |
| -> State# s | |
| -> (# State# s, SmallMutableArray# s a #) |
Изменяет размер изменяемого массива до указанного нового размера. Возвращаемый SmallMutableArray# — это либо исходный SmallMutableArray# с изменённым размером на месте, либо, если это невозможно, вновь выделенный SmallMutableArray#, в который скопировано исходное содержимое.
Во избежание неопределённого поведения после выполнения resizeSmallMutableArray# к исходному SmallMutableArray# больше нельзя обращаться. Кроме того, не следует сохранять ссылку на старый массив, чтобы сборщик мусора мог освободить исходный SmallMutableArray#, если пришлось выделить новый SmallMutableArray#.
Начиная с: base-4.14.0.0
Слияние
build :: (forall b. (a -> b -> b) -> b -> b) -> [a] Исходный код
Производитель списков, который можно слить с foldr. Эта функция представляет собой просто
build g = g (:) []
однако упрощатель GHC преобразует выражение вида foldr k z (build g), которое может возникнуть после встраивания, в g k z, что позволяет избежать создания промежуточного списка.
augment :: (forall b. (a -> b -> b) -> b -> b) -> [a] -> [a] Исходный код
Производитель списков, который можно слить с foldr. Эта функция представляет собой просто
augment g xs = g (:) xs
однако упрощатель GHC преобразует выражение вида foldr k z (augment g xs), которое может возникнуть после встраивания, в g k (foldr k z xs), что позволяет избежать создания промежуточного списка.
Перегружаемые списки
class IsList l where Исходный код
Класс IsList и его методы предназначены для использования совместно с расширением OverloadedLists.
Начиная с: base-4.7.0.0
Методы
fromList :: [Item l] -> l Исходный код
Функция fromList создаёт структуру l из заданного списка Item l.
fromListN :: Int -> [Item l] -> l Исходный код
Функция fromListN принимает длину входного списка и может использовать её для более эффективного создания структуры l по сравнению с fromList. Если указанное число не совпадает с длиной входного списка, поведение fromListN не определено.
fromListN (length xs) xs == fromList xs
toList :: l -> [Item l] Исходный код
Функция toList извлекает из структуры l список Item l. Должно выполняться равенство fromList . toList = id.
Экземпляры
| IsList ByteArray Источник | Начиная с: base-4.17.0.0 |
||||
| IsList Version Источник | Начиная с: base-4.8.0.0 |
||||
| IsList CallStack Источник |
Следует учитывать, что 'fromList . toList = id' выполняется только для незамороженных Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.IsList Ассоциированные типы
| |||||
| IsList (NonEmpty a) Источник | Начиная с: base-4.9.0.0 |
||||
Определён в GHC.Internal.IsList Ассоциированные типы
| |||||
| IsList (ZipList a) Источник | Начиная с: base-4.15.0.0 |
||||
Определён в GHC.Internal.IsList Ассоциированные типы
| |||||
| IsList [a] Источник | Начиная с: base-4.7.0.0 |
||||
Преобразующие списковые выражения
Тип Down позволяет удобно изменить порядок сортировки на обратный. Значение типа Down a содержит значение типа a (представленное как Down a).
Если для a определён экземпляр Ord, то сравнение двух обёрнутых таким образом значений даст порядок сортировки, противоположный обычному. Это особенно полезно при сортировке в обобщённых списковых выражениях, например: then sortWith by Down x.
>>> compare True False GT
>>> compare (Down True) (Down False) LT
Если для a определён экземпляр Bounded, то обёрнутый экземпляр также соблюдает обратный порядок, меняя местами значения minBound и maxBound.
>>> minBound :: Int -9223372036854775808
>>> minBound :: Down Int Down 9223372036854775807
Все остальные экземпляры Down a ведут себя так же, как и для a.
Начиная с: base-4.6.0.0
Экземпляры
| Foldable1 Down Источник | С версии: base-4.18.0.0 |
Определено в Data.Foldable1 Методыfold1 :: Semigroup m => Down m -> m Источник foldMap1 :: Semigroup m => (a -> m) -> Down a -> m Источник foldMap1' :: Semigroup m => (a -> m) -> Down a -> m Источник toNonEmpty :: Down a -> NonEmpty a Источник maximum :: Ord a => Down a -> a Источник minimum :: Ord a => Down a -> a Источник foldrMap1 :: (a -> b) -> (a -> b -> b) -> Down a -> b Источник foldlMap1' :: (a -> b) -> (b -> a -> b) -> Down a -> b Источник foldlMap1 :: (a -> b) -> (b -> a -> b) -> Down a -> b Источник foldrMap1' :: (a -> b) -> (a -> b -> b) -> Down a -> b Источник | |
| Eq1 Down Источник | С версии: base-4.12.0.0 |
| Ord1 Down Источник | С версии: base-4.12.0.0 |
Определено в Data.Functor.Classes | |
| Read1 Down Источник | С версии: base-4.12.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Down a) Источник liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Down a] Источник liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Down a) Источник liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Down a] Источник | |
| Show1 Down Источник | С версии: base-4.12.0.0 |
| Applicative Down Источник | С версии: base-4.11.0.0 |
| Functor Down Источник | С версии: base-4.11.0.0 |
| Monad Down Источник | С версии: base-4.11.0.0 |
| MonadFix Down Источник | С версии: base-4.12.0.0 |
Определено в GHC.Internal.Control.Monad.Fix | |
| MonadZip Down Источник | С версии: ghc-internal-4.12.0.0 |
| Foldable Down Источник | С версии: base-4.12.0.0 |
Определено в GHC.Internal.Data.Foldable Методыfold :: Monoid m => Down m -> m Источник foldMap :: Monoid m => (a -> m) -> Down a -> m Источник foldMap' :: Monoid m => (a -> m) -> Down a -> m Источник foldr :: (a -> b -> b) -> b -> Down a -> b Источник foldr' :: (a -> b -> b) -> b -> Down a -> b Источник foldl :: (b -> a -> b) -> b -> Down a -> b Источник foldl' :: (b -> a -> b) -> b -> Down a -> b Источник foldr1 :: (a -> a -> a) -> Down a -> a Источник foldl1 :: (a -> a -> a) -> Down a -> a Источник toList :: Down a -> [a] Источник null :: Down a -> Bool Источник length :: Down a -> Int Источник elem :: Eq a => a -> Down a -> Bool Источник maximum :: Ord a => Down a -> a Источник minimum :: Ord a => Down a -> a Источник | |
| Traversable Down Источник | С версии: base-4.12.0.0 |
Определено в GHC.Internal.Data.Traversable | |
| Generic1 Down Источник | |
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Monoid a => Monoid (Down a) Источник | Начиная с: base-4.11.0.0 |
||||
| Semigroup a => Semigroup (Down a) Источник | Начиная с: base-4.11.0.0 |
||||
| Bits a => Bits (Down a) Источник | Начиная с: base-4.14.0.0 |
||||
Определено в GHC.Internal.Data.Ord Методы(.&.) :: Down a -> Down a -> Down a Источник (.|.) :: Down a -> Down a -> Down a Источник xor :: Down a -> Down a -> Down a Источник complement :: Down a -> Down a Источник shift :: Down a -> Int -> Down a Источник rotate :: Down a -> Int -> Down a Источник setBit :: Down a -> Int -> Down a Источник clearBit :: Down a -> Int -> Down a Источник complementBit :: Down a -> Int -> Down a Источник testBit :: Down a -> Int -> Bool Источник bitSizeMaybe :: Down a -> Maybe Int Источник bitSize :: Down a -> Int Источник isSigned :: Down a -> Bool Источник shiftL :: Down a -> Int -> Down a Источник unsafeShiftL :: Down a -> Int -> Down a Источник shiftR :: Down a -> Int -> Down a Источник unsafeShiftR :: Down a -> Int -> Down a Источник rotateL :: Down a -> Int -> Down a Источник | |||||
| FiniteBits a => FiniteBits (Down a) Источник | Начиная с: base-4.14.0.0 |
||||
Определено в GHC.Internal.Data.Ord МетодыfiniteBitSize :: Down a -> Int Источник countLeadingZeros :: Down a -> Int Источник countTrailingZeros :: Down a -> Int Источник | |||||
| Eq a => Eq (Down a) Источник | Начиная с: base-4.6.0.0 |
||||
| Ord a => Ord (Down a) Источник | Начиная с: base-4.6.0.0 |
||||
| Data a => Data (Down 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) -> Down a -> c (Down a) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Down a) Источник toConstr :: Down a -> Constr Источник dataTypeOf :: Down a -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Down a)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Down a)) Источник gmapT :: (forall b. Data b => b -> b) -> Down a -> Down a Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Down a -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Down a -> r Источник gmapQ :: (forall d. Data d => d -> u) -> Down a -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> Down a -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> Down a -> m (Down a) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Down a -> m (Down a) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Down a -> m (Down a) Источник | |||||
| Bounded a => Bounded (Down a) Источник |
Меняет местами Начиная с: base-4.14.0.0 |
||||
| (Enum a, Bounded a, Eq a) => Enum (Down a) Источник |
Меняет местами Начиная с: base-4.18.0.0 |
||||
Определён в GHC.Internal.Data.Ord Методыsucc :: Down a -> Down a Источник pred :: Down a -> Down a Источник toEnum :: Int -> Down a Источник fromEnum :: Down a -> Int Источник enumFrom :: Down a -> [Down a] Источник enumFromThen :: Down a -> Down a -> [Down a] Источник enumFromTo :: Down a -> Down a -> [Down a] Источник enumFromThenTo :: Down a -> Down a -> Down a -> [Down a] Источник | |||||
| Floating a => Floating (Down a) Источник | Начиная с: base-4.14.0.0 |
||||
Определён в GHC.Internal.Data.Ord Методыexp :: Down a -> Down a Источник log :: Down a -> Down a Источник sqrt :: Down a -> Down a Источник (**) :: Down a -> Down a -> Down a Источник logBase :: Down a -> Down a -> Down a Источник sin :: Down a -> Down a Источник cos :: Down a -> Down a Источник tan :: Down a -> Down a Источник asin :: Down a -> Down a Источник acos :: Down a -> Down a Источник atan :: Down a -> Down a Источник sinh :: Down a -> Down a Источник cosh :: Down a -> Down a Источник tanh :: Down a -> Down a Источник asinh :: Down a -> Down a Источник acosh :: Down a -> Down a Источник atanh :: Down a -> Down a Источник log1p :: Down a -> Down a Источник expm1 :: Down a -> Down a Источник | |||||
| RealFloat a => RealFloat (Down a) Источник | Начиная с: base-4.14.0.0 |
||||
Определён в GHC.Internal.Data.Ord МетодыfloatRadix :: Down a -> Integer Источник floatDigits :: Down a -> Int Источник floatRange :: Down a -> (Int, Int) Источник decodeFloat :: Down a -> (Integer, Int) Источник encodeFloat :: Integer -> Int -> Down a Источник exponent :: Down a -> Int Источник significand :: Down a -> Down a Источник scaleFloat :: Int -> Down a -> Down a Источник isNaN :: Down a -> Bool Источник isInfinite :: Down a -> Bool Источник isDenormalized :: Down a -> Bool Источник isNegativeZero :: Down a -> Bool Источник | |||||
| Storable a => Storable (Down a) Источник | Начиная с: base-4.14.0.0 |
||||
Определён в GHC.Internal.Data.Ord МетодыsizeOf :: Down a -> Int Источник alignment :: Down a -> Int Источник peekElemOff :: Ptr (Down a) -> Int -> IO (Down a) Источник pokeElemOff :: Ptr (Down a) -> Int -> Down a -> IO () Источник peekByteOff :: Ptr b -> Int -> IO (Down a) Источник pokeByteOff :: Ptr b -> Int -> Down a -> IO () Источник | |||||
| Generic (Down a) Источник | |||||
Определён в GHC.Internal.Generics Связанные типы
| |||||
| Ix a => Ix (Down a) Источник | Начиная с: base-4.14.0.0 |
||||
Определён в GHC.Internal.Data.Ord Методыrange :: (Down a, Down a) -> [Down a] Источник index :: (Down a, Down a) -> Down a -> Int Источник unsafeIndex :: (Down a, Down a) -> Down a -> Int Источник inRange :: (Down a, Down a) -> Down a -> Bool Источник rangeSize :: (Down a, Down a) -> Int Источник unsafeRangeSize :: (Down a, Down a) -> Int Источник | |||||
| Num a => Num (Down a) Источник | Начиная с: base-4.11.0.0 |
||||
Определён в GHC.Internal.Data.Ord | |||||
| Read a => Read (Down a) Источник |
Этот экземпляр был бы эквивалентен производным экземплярам нового типа Начиная с: base-4.7.0.0 |
||||
| Fractional a => Fractional (Down a) Источник | Начиная с: base-4.14.0.0 |
| Real a => Real (Down a) Источник | Начиная с: base-4.14.0.0 |
Определён в GHC.Internal.Data.Ord МетодыtoRational :: Down a -> Rational Источник | |
| RealFrac a => RealFrac (Down a) Источник | Начиная с: base-4.14.0.0 |
| Show a => Show (Down a) Источник |
Этот экземпляр был бы эквивалентен экземплярам, автоматически выведенным для нового типа Начиная с: base-4.7.0.0 |
| type Rep1 Down Источник | Начиная с: base-4.12.0.0 |
Определён в GHC.Internal.Generics | |
| type Rep (Down a) Источник | Начиная с: base-4.12.0.0 |
Определён в GHC.Internal.Generics | |
groupWith :: Ord b => (a -> b) -> [a] -> [[a]] Источник
Функция groupWith использует предоставленную пользователем функцию, которая извлекает элемент из каждого элемента списка, чтобы сначала отсортировать входной список, а затем сгруппировать элементы по равенству этих извлечённых элементов
sortWith :: Ord b => (a -> b) -> [a] -> [a] Источник
Функция sortWith сортирует список элементов, используя предоставленную пользователем функцию для извлечения некоторого значения из каждого элемента
В общем случае, если предоставленная пользователем функция требует больших вычислительных затрат, вероятно, следует использовать sortOn, поскольку эта функция вычисляет её только один раз для каждого элемента. sortWith, напротив, должна вычислять функцию отображения при каждом выполняемом сравнении.
the :: Eq a => [a] -> a Источник
the проверяет, что все элементы списка идентичны, а затем возвращает этот единственный элемент
Строки
Перегруженные строковые литералы
class IsString a where Источник
IsString используется совместно с языковым расширением -XOverloadedStrings для преобразования литералов в строки разных типов.
Например, если вы используете пакет text, можно написать
{-# LANGUAGE OverloadedStrings #-}
myText = "hello world" :: Text
Внутри расширение преобразует это в эквивалент следующего выражения
myText = fromString @Text ("hello world" :: String)
Примечание: fromString можно использовать и в обычном коде, однако к нему применимы обычные проблемы с производительностью и эффективностью использования памяти, связанные с String.
Методы
fromString :: String -> a Источник
Экземпляры
| IsString a => IsString (Identity a) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.String МетодыfromString :: String -> Identity a Источник | |
| a ~ Char => IsString [a] Источник |
Контекст Начиная с: base-2.1 |
Определён в GHC.Internal.Data.String МетодыfromString :: String -> [a] Источник | |
| IsString a => IsString (Const a b) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Data.String МетодыfromString :: String -> Const a b Источник | |
Строка C
unpackCString# :: Addr# -> [Char] Источник
unpackAppendCString# :: Addr# -> [Char] -> [Char] Источник
unpackFoldrCString# :: Addr# -> (Char -> a -> a) -> a -> a Источник
unpackCStringUtf8# :: Addr# -> [Char] Источник
unpackNBytes# :: Addr# -> Int# -> [Char] Источник
cstringLength# :: Addr# -> Int# Источник
Вычисляет длину строки, оканчивающейся нулевым байтом. Этот адрес должен указывать на неизменяемую память. GHC содержит встроенное правило свёртки констант, применяемое, когда аргументом является литерал, известный во время компиляции. Иными словами, проход преобразования core в core сводит выражение cstringLength# "hello"# к константе 5#.
Отладка
Точки останова
breakpoint :: a -> a Источник
breakpointCond :: Bool -> a -> a Источник
Журналирование событий
traceEvent :: String -> IO () Источник
Устарело: используйте traceEvent или traceEventIO
Стек вызовов
currentCallStack :: IO [String] Источник
Возвращает [String], представляющий текущий стек вызовов. Это может быть полезно при отладке.
Реализация использует симуляцию стека вызовов, которую поддерживает профилировщик, поэтому она работает только в том случае, если программа была скомпилирована с -prof и содержит подходящие аннотации SCC (например, добавленные с помощью -fprof-auto). В противном случае возвращённый список, скорее всего, будет пустым или неинформативным.
Начиная с: base-4.5.0.0
Идентификаторы с особым поведением
Вызов inline f гарантирует встраивание f независимо от её размера. Точнее, вызов inline f заменяется правой частью определения f. Это позволяет программисту управлять встраиванием в конкретной точке вызова, а не в месте определения функции (ср. прагмы INLINE).
Встраивание происходит независимо от аргумента вызова или размера определения f; оно безусловно. Главное ограничение заключается в том, что определение f должно быть доступно компилятору; поэтому рекомендуется помечать функцию прагмой INLINABLE в месте её определения, чтобы GHC гарантированно сохранял её развёртку независимо от размера.
Если встраивание не выполняется, функция inline на фазе ноль сводится к тождественной функции, поэтому её использование не создаёт накладных расходов.
Вызов noinline f гарантирует, что f не будет встроена. Он удаляется на этапе CorePrep, поэтому его использование не создаёт накладных расходов (кроме запрета на встраивание).
Функция lazy немного ограничивает анализ строгости. Вызов lazy e означает то же, что и e, но с точки зрения анализа строгости у lazy есть особое свойство: она ленива по первому аргументу, хотя семантически является строгой. После выполнения анализа строгости вызовы lazy встраиваются как тождественная функция.
Это поведение иногда полезно для управления порядком вычислений. В частности, lazy используется в определении библиотечной функции par:
par :: a -> b -> b par x y = case (par# x) of _ -> lazy y
Если бы lazy не была ленивой, par считалась бы строгой по y, что свело бы на нет саму цель par.
oneShot :: (a -> b) -> a -> b Источник
Функцию oneShot можно использовать, чтобы подсказать компилятору, что её аргумент будет вызван не более одного раза; это может (но не обязательно) включить некоторые оптимизации. Она может быть полезна для повышения производительности кода в стиле передачи продолжений.
При неправильном использовании oneShot вычисления, результат которых в противном случае использовался бы совместно, могут выполняться заново при каждом обращении к ним. В остальных случаях использование oneShot безопасно.
oneShot полиморфна по представлению: переменные типа могут соответствовать типам с подъёмом или без подъёма.
considerAccessible :: Bool Источник
Семантически это considerAccessible = True. Однако для средства проверки сопоставления с образцом она имеет особое значение: оно никогда не будет помечать предложение, в охранном выражении которого встречается considerAccessible, как избыточное или недоступное. Пример:
case (x, x) of (True, True) -> 1 (False, False) -> 2 (True, False) -> 3 -- Warning: redundant
Здесь средство проверки сопоставления с образцом выдаст предупреждение, что третье предложение избыточно. Оно перестанет это делать, если добавить к предложению considerAccessible:
case (x, x) of (True, True) -> 1 (False, False) -> 2 (True, False) | considerAccessible -> 3 -- No warning
Добавьте considerAccessible последним выражением охранного выражения, чтобы избежать неоднозначных результатов проверки сопоставления с образцом, которая понимает «считать доступным» буквально.
seq# :: a -> State# s -> (# State# s, a #) Источник
Примитив, используемый для реализации evaluate. По возможности используйте evaluate!
Аннотации SpecConstr
data SpecConstrAnnotation Источник
Устарело; вместо этого используйте непосредственно SPEC.
Аннотирование типа с помощью NoSpecConstr не позволит SpecConstr специализировать аргументы этого типа, например {-# ANN type SPEC ForceSpecConstr #-}.
Конструкторы
| NoSpecConstr | |
| ForceSpecConstr |
Экземпляры
| Eq SpecConstrAnnotation Источник | Начиная с: base-4.3.0.0 |
Определён в GHC.Internal.Exts Методы(==) :: SpecConstrAnnotation -> SpecConstrAnnotation -> Bool Источник (/=) :: SpecConstrAnnotation -> SpecConstrAnnotation -> Bool Источник | |
| Data SpecConstrAnnotation Источник | Начиная с: base-4.3.0.0 |
Определён в GHC.Internal.Exts Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SpecConstrAnnotation -> c SpecConstrAnnotation Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SpecConstrAnnotation Источник toConstr :: SpecConstrAnnotation -> Constr Источник dataTypeOf :: SpecConstrAnnotation -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SpecConstrAnnotation) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SpecConstrAnnotation) Источник gmapT :: (forall b. Data b => b -> b) -> SpecConstrAnnotation -> SpecConstrAnnotation Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SpecConstrAnnotation -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SpecConstrAnnotation -> r Источник gmapQ :: (forall d. Data d => d -> u) -> SpecConstrAnnotation -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> SpecConstrAnnotation -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> SpecConstrAnnotation -> m SpecConstrAnnotation Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SpecConstrAnnotation -> m SpecConstrAnnotation Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SpecConstrAnnotation -> m SpecConstrAnnotation Источник | |
SPEC используется GHC на этапе SpecConstr, чтобы указать компилятору, когда следует действовать особенно агрессивно. В частности, он сообщает GHC, что нужно выполнять специализацию независимо от размера или количества специализаций. Однако не все циклы относятся к этой категории.
Библиотеки могут указывать это с помощью типа данных SPEC, чтобы определить, какие циклы следует специализировать агрессивно. Например, вместо
loop x where loop arg = ...
запишите
loop SPEC x where loop !_ arg = ...
Между SPEC и SPEC2 нет семантической разницы; нам просто нужен тип с двумя конструкторами, чтобы он не был оптимизирован до SpecConstr.
Этот тип реэкспортируется из GHC.Exts начиная с GHC 9.0 и base-4.15. Для совместимости с более ранними выпусками импортируйте его из GHC.Internal.Types из пакета ghc-internal.
Начиная с: ghc-internal-0.3.1.0
Приведения
Безопасные приведения
Они также доступны из модуля Trustworthy Data.Coerce.
Начиная с: base-4.7.0.0
coerce :: Coercible a b => a -> b Источник
Функция coerce позволяет безопасно преобразовывать значения типов с одинаковым представлением без дополнительных затрат во время выполнения. В простейшем случае её можно использовать вместо конструктора newtype, чтобы перейти от конкретного типа newtype к абстрактному типу. Она работает и в более сложных случаях, например при преобразовании списка newtype в список конкретных типов.
При преобразованиях с участием обёртки newtype убедитесь, что конструктор newtype находится в области видимости.
Эта функция полиморфна по представлению, однако аргумент типа RuntimeRep помечен как Inferred, то есть недоступен для видимого применения типов. Это означает, что проверка типов примет coerce @Int @Age 42.
Примеры
>>> newtype TTL = TTL Int deriving (Eq, Ord, Show) >>> newtype Age = Age Int deriving (Eq, Ord, Show) >>> coerce (Age 42) :: TTL TTL 42 >>> coerce (+ (1 :: Int)) (Age 42) :: TTL TTL 43 >>> coerce (map (+ (1 :: Int))) [Age 42, Age 24] :: [TTL] [TTL 43,TTL 25]
Крайне небезопасное приведение
unsafeCoerce# :: a -> b Источник
Чрезвычайно, ужасающе опасное приведение от одного типа представления к другому. Неправильное использование этой функции может привести к тому, что сборщик мусора растопчет ваши данные, а затем рассмеётся вам в лицо. Вам не нужна эта функция. Правда.
Это становится очевиднее, если взглянуть на её фактический тип: forall (r1 :: RuntimeRep) (r2 :: RuntimeRep) (a :: TYPE r1) (b :: TYPE r2). a -> b. По техническим причинам Haddock часто отображает его как a -> b.
Приведение словарей классов с одним методом
class WithDict cls meth where Источник
Ограничение WithDict cls meth можно разрешить, если свидетельство для ограничения cls можно предоставить в виде словаря типа meth. Для этого требуется, чтобы cls было ограничением класса с единственным методом типа meth.
Дополнительные важные сведения о том, как это работает, см. в Note [withDict] в модуле GHC.Tc.Instance.Class в GHC.
Начиная с: ghc-internal-0.9.0
Методы
withDict :: forall {rr :: RuntimeRep} (r :: TYPE rr). meth -> (cls => r) -> r Источник
Преобразование алгебраических типов данных в теги конструкторов
class DataToTag (a :: TYPE ('BoxedRep lev)) where Источник
dataToTag# вычисляет значение своего аргумента и возвращает индекс (начиная с нуля) конструктора, с помощью которого это значение было создано. С dataToTag# можно использовать любой алгебраический тип данных, у которого все конструкторы находятся в области видимости.
>>> dataToTag# (Left ()) 0# >>> dataToTag# (Right undefined) 1#
Методы
dataToTag# :: a -> Int# Источник
Максимальный размер кортежа
© 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/GHC-Exts.html