Type.Reflection.Unsafe
| Авторское право | (c) The University of Glasgow CWI 2001--2015 |
|---|---|
| Лицензия | BSD-style (см. файл libraries/base/LICENSE) |
| Безопасный Haskell | Нет |
| Язык | Haskell2010 |
Описание
Представления типов TyCon и TypeRep, а также функция mkTyCon, используемая производными экземплярами Typeable для создания TyConов.
Имейте в виду: эти функции можно использовать для создания представлений типов с некорректными родами.
Представления типов
data TypeRep (a :: k) Источник
TypeRep — конкретное представление (мономорфного) типа. TypeRep поддерживает достаточно эффективное сравнение на равенство. См. примечание [Grand plan for Typeable] в GHC.Tc.Instance.Typeable
Экземпляры
| TestEquality (TypeRep :: k -> Type) Источник | |
Определено в GHC.Internal.Data.Typeable.Internal | |
| Eq (TypeRep a) Источник | Начиная с: base-2.1 |
| Ord (TypeRep a) Источник | Начиная с: base-4.4.0.0 |
Определено в GHC.Internal.Data.Typeable.Internal Методыcompare :: TypeRep a -> TypeRep a -> Ordering Источник (<) :: TypeRep a -> TypeRep a -> Bool Источник (<=) :: TypeRep a -> TypeRep a -> Bool Источник (>) :: TypeRep a -> TypeRep a -> Bool Источник (>=) :: TypeRep a -> TypeRep a -> Bool Источник | |
| Show (TypeRep a) Источник | |
mkTrApp :: forall k1 k2 (a :: k1 -> k2) (b :: k1). TypeRep a -> TypeRep b -> TypeRep (a b) Источник
Создаёт представление для применения типа.
Аргументы
| :: String | имя пакета |
| -> String | имя модуля |
| -> String | имя конструктора типа |
| -> Int | число переменных рода |
| -> KindRep | представление рода |
| -> TyCon | Уникальный объект |
Невероятно небезопасно.
typeRepFingerprint :: forall {k} (a :: k). TypeRep a -> Fingerprint Источник
Получить Fingerprint представления типа
Начиная с: base-4.8.0.0
someTypeRepFingerprint :: SomeTypeRep -> Fingerprint Источник
Представления родов
Представление, создаваемое 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 TypeLitSort Источник
Конструкторы
| TypeLitSymbol | |
| TypeLitNat | |
| TypeLitChar |
Экземпляры
| Show TypeLitSort Источник | Начиная с: base-4.11.0.0 |
Определено в GHC.Internal.Show МетодыshowsPrec :: Int -> TypeLitSort -> ShowS Источник show :: TypeLitSort -> String Источник showList :: [TypeLitSort] -> 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/9.14.1/docs/libraries/base-4.22.0.0-66f8/Type-Reflection-Unsafe.html