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

Safe HaskellNone

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