Spec-Zone.ru › Haskell 9

Data.Type.Coercion

Лицензия в стиле BSD (см. файл LICENSE в дистрибутиве)
Сопровождающий libraries@haskell.org
Стабильность стабильная
Переносимость непереносимый
Безопасный Haskell Нет
Язык Haskell2010

Описание

Определение репрезентационного равенства (Coercion).

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

data Coercion (a :: k) (b :: k) where Источник

Репрезентационное равенство. Если Coercion a b содержит некоторое завершающееся значение, то тип a имеет то же базовое представление, что и тип b.

Чтобы использовать это равенство на практике, сопоставьте с образцом Coercion a b, чтобы получить экземпляр Coercible a b, а затем примените его с помощью coerce.

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

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

Coercion :: forall {k} (a :: k) (b :: k). Coercible a b => Coercion a b
Экземпляры
Сведения об экземплярах
Category (Coercion :: k -> k -> Type) Источник

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

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

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

Методы

id :: forall (a :: k). Coercion a a Источник

(.) :: forall (b :: k) (c :: k) (a :: k). Coercion b c -> Coercion a b -> Coercion a c Источник

TestCoercion (Coercion a :: k -> Type) Источник

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

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

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

Методы

testCoercion :: forall (a0 :: k) (b :: k). Coercion a a0 -> Coercion a b -> Maybe (Coercion a0 b) Источник

Eq (Coercion a b) Источник

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

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

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

Методы

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

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

Ord (Coercion a b) Источник

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

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

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

Методы

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

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

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

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

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

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

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

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

Coercible a b => Bounded (Coercion a b) Источник

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

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

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

Методы

minBound :: Coercion a b Источник

maxBound :: Coercion a b Источник

Coercible a b => Enum (Coercion a b) Источник

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

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

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

Методы

succ :: Coercion a b -> Coercion a b Источник

pred :: Coercion a b -> Coercion a b Источник

toEnum :: Int -> Coercion a b Источник

fromEnum :: Coercion a b -> Int Источник

enumFrom :: Coercion a b -> [Coercion a b] Источник

enumFromThen :: Coercion a b -> Coercion a b -> [Coercion a b] Источник

enumFromTo :: Coercion a b -> Coercion a b -> [Coercion a b] Источник

enumFromThenTo :: Coercion a b -> Coercion a b -> Coercion a b -> [Coercion a b] Источник

Coercible a b => Read (Coercion a b) Источник

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

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

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

Методы

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

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

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

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

Show (Coercion a b) Источник

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

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

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

Методы

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

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

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

coerceWith :: Coercion a b -> a -> b Источник

Приведение типов с проверкой типов, использующее репрезентационное равенство

gcoerceWith :: forall {k} (a :: k) (b :: k) r. Coercion a b -> (Coercible a b => r) -> r Источник

Обобщённая форма приведения типов с проверкой типов, использующего репрезентационное равенство

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

sym :: forall {k} (a :: k) (b :: k). Coercion a b -> Coercion b a Источник

Симметричность репрезентационного равенства

trans :: forall {k} (a :: k) (b :: k) (c :: k). Coercion a b -> Coercion b c -> Coercion a c Источник

Транзитивность репрезентационного равенства

repr :: forall {k} (a :: k) (b :: k). (a :~: b) -> Coercion a b Источник

Преобразование пропозиционального (номинального) равенства в репрезентационное равенство

class TestCoercion (f :: k -> Type) where Источник

Этот класс содержит типы, для которых равенство двух типов можно установить по информации, содержащейся в термах. Обычно этот класс должны населять только синглетонные типы.

Методы

testCoercion :: forall (a :: k) (b :: k). f a -> f b -> Maybe (Coercion a b) Исходный код

Условно доказывает представительное равенство a и b.

Экземпляры
Подробности экземпляров
TestCoercion SNat Исходный код

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

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

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

Методы

testCoercion :: forall (a :: Nat) (b :: Nat). SNat a -> SNat b -> Maybe (Coercion a b) Исходный код

TestCoercion SChar Исходный код

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

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

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

Методы

testCoercion :: forall (a :: Char) (b :: Char). SChar a -> SChar b -> Maybe (Coercion a b) Исходный код

TestCoercion SSymbol Исходный код

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

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

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

Методы

testCoercion :: forall (a :: Symbol) (b :: Symbol). SSymbol a -> SSymbol b -> Maybe (Coercion a b) Исходный код

TestCoercion (Coercion a :: k -> Type) Исходный код

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

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

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

Методы

testCoercion :: forall (a0 :: k) (b :: k). Coercion a a0 -> Coercion a b -> Maybe (Coercion a0 b) Исходный код

TestCoercion ((:~:) a :: k -> Type) Исходный код

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

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

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

Методы

testCoercion :: forall (a0 :: k) (b :: k). (a :~: a0) -> (a :~: b) -> Maybe (Coercion a0 b) Исходный код

TestCoercion ((:~~:) a :: k -> Type) Исходный код

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

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

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

Методы

testCoercion :: forall (a0 :: k) (b :: k). (a :~~: a0) -> (a :~~: b) -> Maybe (Coercion a0 b) Исходный код

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.14.1/docs/libraries/base-4.22.0.0-66f8/Data-Type-Coercion.html

Spec-Zone.ru

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