base-compat-0.12.3: A compatibility layer for base
Safe HaskellTrustworthy
LanguageHaskell2010

Type.Reflection.Compat

Synopsis

Documentation

withTypeable :: forall k (a :: k) (rep :: RuntimeRep) (r :: TYPE rep). TypeRep a -> (Typeable a => r) -> r Source #

Use a TypeRep as Typeable evidence.

The TypeRep pattern synonym brings a Typeable constraint into scope and can be used in place of withTypeable.

f :: TypeRep a -> ..
f rep = withTypeable {- Typeable a in scope -}

f :: TypeRep a -> ..
f TypeRep = {- Typeable a in scope -}

pattern TypeRep :: () => Typeable a => TypeRep a Source #

A explicitly bidirectional pattern synonym to construct a concrete representation of a type.

As an expression: Constructs a singleton TypeRep a given a implicit 'Typeable a' constraint:

TypeRep @a :: Typeable a => TypeRep a

As a pattern: Matches on an explicit TypeRep a witness bringing an implicit Typeable a constraint into scope.

f :: TypeRep a -> ..
f TypeRep = {- Typeable a in scope -}

Since: base-4.17.0.0