Type.Reflection.Compat

base-compat-0.12.2: A compatibility layer for base

Safe Haskell | Trustworthy
Language | Haskell2010

Type.Reflection.Compat

Synopsis

- module Type.Reflection
- withTypeable :: forall k (a :: k) (rep :: RuntimeRep) (r :: TYPE rep). TypeRep a -> (Typeable a => r) -> r
- pattern TypeRep :: forall a. () => Typeable a => TypeRep a

# Documentation

module Type.Reflection

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

Use a `TypeRep` as `Typeable` evidence.

pattern TypeRep :: forall a. () => Typeable a => TypeRep a #

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: 4.17.0.0