Spec-Zone.ru › Haskell 8

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.

Предупреждение: эти функции могут использоваться для построения некорректно типизированных представлений типов.

Представления типов

data TypeRep a Source

Конкретное представление (мономорфного) типа. TypeRep поддерживает достаточно эффективное равенство.

Экземпляры
Подробности об экземплярах
TestEquality (TypeRep :: k -> Type)
Подробности об экземпляре

Определено в Data.Typeable.Internal

Методы

testEquality :: forall (a :: k0) (b :: k0). TypeRep a -> TypeRep b -> Maybe (a :~: b) Source

Eq (TypeRep a)

Since: base-2.1

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

Определено в Data.Typeable.Internal

Методы

(==) :: TypeRep a -> TypeRep a -> Bool Source

(/=) :: TypeRep a -> TypeRep a -> Bool Source

Ord (TypeRep a)

Since: base-4.4.0.0

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

Определено в Data.Typeable.Internal

Методы

compare :: TypeRep a -> TypeRep a -> Ordering Source

(<) :: TypeRep a -> TypeRep a -> Bool Source

(<=) :: TypeRep a -> TypeRep a -> Bool Source

(>) :: TypeRep a -> TypeRep a -> Bool Source

(>=) :: TypeRep a -> TypeRep a -> Bool Source

max :: TypeRep a -> TypeRep a -> TypeRep a Source

min :: TypeRep a -> TypeRep a -> TypeRep a Source

Show (TypeRep a)
Подробности об экземпляре

Определено в Data.Typeable.Internal

Методы

showsPrec :: Int -> TypeRep a -> ShowS Source

show :: TypeRep a -> String Source

showList :: [TypeRep a] -> ShowS Source

mkTrApp :: forall k1 k2 (a :: k1 -> k2) (b :: k1). TypeRep (a :: k1 -> k2) -> TypeRep (b :: k1) -> TypeRep (a b) Source

Построить представление для применения типа.

mkTyCon Source

Аргументы

:: String

имя пакета

-> String

имя модуля

-> String

имя конструктора типа

-> Int

число переменных рода

-> KindRep

представление рода

-> TyCon

Уникальный объект TyCon. Используется, когда строки выделяются динамически, например, при бинарной десериализации

Чрезвычайно небезопасно.

typeRepFingerprint :: TypeRep a -> Fingerprint Source

Наблюдайте за Fingerprint представления типа

С момента выпуска: base-4.8.0.0

someTypeRepFingerprint :: SomeTypeRep -> Fingerprint Source

Представления типов

data KindRep 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
Примеры использования
Подробности примеров
Show KindRep
Подробности примера

Определено в GHC.Show

Методы

showsPrec :: Int -> KindRep -> ShowS Source

show :: KindRep -> String Source

showList :: [KindRep] -> ShowS Source

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

Конструкторы типов

data TyCon Source

Примеры
Подробности примеров
Eq TyCon
Подробности примера

Определено в GHC.Classes

Методы

(==) :: TyCon -> TyCon -> Bool Исходный код

(/=) :: TyCon -> TyCon -> Bool Исходный код

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 Исходный код

tyConFingerprint :: TyCon -> Fingerprint Исходный код

© 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

Spec-Zone.ru

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