type-machine-0.1.0.1: Type-level functions for record types
Safe HaskellNone
LanguageHaskell2010

TypeMachine.Type

Synopsis

Documentation

data Type Source #

Data structure to easily manipulate Template Haskell's DataD

Constructors

Type 

Fields

Instances

Instances details
Show Type Source # 
Instance details

Defined in TypeMachine.Type

Methods

showsPrec :: Int -> Type -> ShowS #

show :: Type -> String #

showList :: [Type] -> ShowS #

Eq Type Source # 
Instance details

Defined in TypeMachine.Type

Methods

(==) :: Type -> Type -> Bool #

(/=) :: Type -> Type -> Bool #

typeToDec :: Type -> Dec Source #

Turns a Type back to a Template Haskell Dec

decToType :: Quasi m => Dec -> m Type Source #

Transform a Template Haskell Dec into a TypeMachine's type

For this to succeed, the input type must have exactly one record constructor

reifyType :: Name -> Q Type Source #

Wrapper around the TH's reify function. Fails if the type is not a datatype declaration