W3cubDocs

/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
Language Haskell2010

Description

The representations of the types TyCon and TypeRep, and the function mkTyCon which is used by derived instances of Typeable to construct TyCons.

Be warned, these functions can be used to construct ill-kinded type representations.

Type representations

data TypeRep (a :: k) Source

A concrete representation of a (monomorphic) type. TypeRep supports reasonably efficient equality.

Instances
TestEquality (TypeRep :: k -> Type)
Instance details

Defined in Data.Typeable.Internal

Methods

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

Eq (TypeRep a)

Since: base-2.1

Instance details

Defined in Data.Typeable.Internal

Methods

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

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

Ord (TypeRep a)

Since: base-4.4.0.0

Instance details

Defined in Data.Typeable.Internal

Methods

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)
Instance details

Defined in Data.Typeable.Internal

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

Construct a representation for a type application.

mkTyCon Source

Arguments

:: String

package name

-> String

module name

-> String

the name of the type constructor

-> Int

number of kind variables

-> KindRep

kind representation

-> TyCon

A unique TyCon object Used when the strings are dynamically allocated, eg from binary deserialisation

Exquisitely unsafe.

typeRepFingerprint :: TypeRep a -> Fingerprint Source

Observe the Fingerprint of a type representation

Since: base-4.8.0.0

someTypeRepFingerprint :: SomeTypeRep -> Fingerprint Source

Kind representations

data KindRep Source

The representation produced by GHC for conjuring up the kind of a TypeRep. See Note [Representing TyCon kinds: KindRep] in TcTypeable.

Bundled Patterns

pattern KindRepTypeLit :: TypeLitSort -> String -> KindRep
Instances
Show KindRep
Instance details

Defined in GHC.Show

data TypeLitSort Source

Constructors

TypeLitSymbol
TypeLitNat
Instances
Show TypeLitSort

Since: base-4.11.0.0

Instance details

Defined in GHC.Show

Type constructors

data TyCon Source

Instances
Eq TyCon
Instance details

Defined in GHC.Classes

Methods

(==) :: TyCon -> TyCon -> Bool Source

(/=) :: TyCon -> TyCon -> Bool Source

Ord TyCon
Instance details

Defined in GHC.Classes

Show TyCon

Since: base-2.1

Instance details

Defined in GHC.Show

mkTrCon :: forall k (a :: k). TyCon -> [SomeTypeRep] -> TypeRep a Source

Construct a representation for a type constructor applied at a monomorphic kind.

Note that this is unsafe as it allows you to construct ill-kinded types.

tyConKindRep :: TyCon -> KindRep Source

tyConKindArgs :: TyCon -> Int Source

tyConFingerprint :: TyCon -> Fingerprint Source

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.6.1/docs/html/libraries/base-4.12.0.0/Type-Reflection-Unsafe.html