ChristmasTree-0.2: Alternative approach of 'read' that composes grammars instead of parsers.

Text.GRead.Derive.BindingGroup

Contents

Description

Module used internally by the Derive module for binding group calculation.

Synopsis

Binding group

type BindingGroup = [(Name, [(Name, [[Type]])])]Source

Mapping from types to the list of types (with specific constructor instantiations, the '[[Type]]') in the same binding group.

getBindingGroup :: Name -> Q BindingGroupSource

Find cyclic type dependencies (binding groups)

Template Haskell helpers

data UserType Source

Uniform representation of 'data' and 'newtype'

Constructors

UserD Name [Name] [Con] 

getUserType :: Name -> Q UserTypeSource

Get a unified type for 'data' and 'newtype'

unrollApp :: Type -> [Type]Source

Get the types of a type application