Type.Reflection.Unsafe
| Copyright | (c) The University of Glasgow CWI 2001--2015 |
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Описание
Представления типов TyCon и TypeRep, и функция mkTyCon, которая используется производными экземплярами Typeable для построения TyCon.
Предупреждение: эти функции могут использоваться для построения некорректно типизированных представлений типов.
Представления типов
Конкретное представление (мономорфного) типа. TypeRep поддерживает достаточно эффективное равенство.
Экземпляры
| TestEquality (TypeRep :: k -> Type) | |
Определено в Data.Typeable.Internal | |
| Eq (TypeRep a) | Since: base-2.1 |
| Ord (TypeRep a) | Since: base-4.4.0.0 |
Определено в Data.Typeable.Internal | |
| Show (TypeRep a) | |
mkTrApp :: forall k1 k2 (a :: k1 -> k2) (b :: k1). TypeRep (a :: k1 -> k2) -> TypeRep (b :: k1) -> TypeRep (a b) Source
Построить представление для применения типа.
Аргументы
| :: String | имя пакета |
| -> String | имя модуля |
| -> String | имя конструктора типа |
| -> Int | число переменных рода |
| -> KindRep | представление рода |
| -> TyCon | Уникальный объект |
Чрезвычайно небезопасно.
typeRepFingerprint :: TypeRep a -> Fingerprint Source
Наблюдайте за Fingerprint представления типа
С момента выпуска: base-4.8.0.0
someTypeRepFingerprint :: SomeTypeRep -> Fingerprint Source
Представления типов
Представление, созданное GHC для получения типа TypeRep.
Конструкторы
| KindRepTyConApp TyCon [KindRep] | |
| KindRepVar !KindBndr | |
| KindRepApp KindRep KindRep | |
| KindRepFun KindRep KindRep | |
| KindRepTYPE !RuntimeRep | |
| KindRepTypeLitS TypeLitSort Addr# | |
| KindRepTypeLitD TypeLitSort [Char] |
Связанные шаблоны
| pattern KindRepTypeLit :: TypeLitSort -> String -> KindRep |
Примеры использования
data Тип литерного сортирования Source
Конструкторы
| TypeLitSymbol | |
| TypeLitNat |
Примеры использования
| Show TypeLitSort | С момента выпуска: base-4.11.0.0 |
Определено в GHC.Show МетодыshowsPrec :: Int -> TypeLitSort -> ShowS Source show :: TypeLitSort -> String Source showList :: [TypeLitSort] -> ShowS Source | |
Конструкторы типов
Примеры
| Eq TyCon | |
Определено в GHC.Classes | |
| Ord TyCon | |
Определено в GHC.Classes Методыcompare :: TyCon -> TyCon -> Ordering Исходный код (<) :: TyCon -> TyCon -> Bool Исходный код (<=) :: TyCon -> TyCon -> Bool Исходный код (>) :: TyCon -> TyCon -> Bool Исходный код (>=) :: TyCon -> TyCon -> Bool Исходный код max :: TyCon -> TyCon -> TyCon Исходный код min :: TyCon -> TyCon -> TyCon Исходный код | |
| Show TyCon | С версии: base-2.1 |
Определено в GHC.Show МетодыshowsPrec :: Int -> TyCon -> ShowS Исходный код show :: TyCon -> String Исходный код showList :: [TyCon] -> ShowS Исходный код | |
mkTrCon :: forall k (a :: k). TyCon -> [SomeTypeRep] -> TypeRep a Исходный код
Построение представления для конструктора типа, применяемого на мономорфном уровне.
Обратите внимание, что это небезопасно, так как позволяет создавать типы с неправильными типами.
tyConKindRep :: TyCon -> KindRep Исходный код
tyConKindArgs :: TyCon -> Int Исходный код
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/base-4.14.1.0/Type-Reflection-Unsafe.html