th-data-compat-0.0.2.4: Compatibility for data definition template of TH

Copyright2016-2017 Kei Hibino
LicenseBSD3
Maintainerex8k.hibino@gmail.com
Stabilityexperimental
Portabilityunknown
Safe HaskellNone
LanguageHaskell2010

Language.Haskell.TH.Compat.Data

Contents

Description

This module provides compatibility definitions of data-type declaration templates for before temaplate-haskell-2.11

Synopsis

Interfaces to construct data declarations

dataD' :: CxtQ -> Name -> [TyVarBndr] -> [ConQ] -> [Name] -> DecQ Source #

Definition against dataD, compatible with before temaplate-haskell-2.11

newtypeD' :: CxtQ -> Name -> [TyVarBndr] -> ConQ -> [Name] -> DecQ Source #

Definition against newtypeD, compatible with before temaplate-haskell-2.11

dataInstD' :: CxtQ -> Name -> [TypeQ] -> [ConQ] -> [Name] -> DecQ Source #

Definition against dataInstD, compatible with before temaplate-haskell-2.11

newtypeInstD' :: CxtQ -> Name -> [TypeQ] -> ConQ -> [Name] -> DecQ Source #

Definition against newtypeInstD, compatible with before temaplate-haskell-2.11

Interfaces to destruct data declarations

unDataD :: Dec -> Maybe (Cxt, Name, [TyVarBndr], Maybe Kind, [Con], [Type]) Source #

Compatible interface to destruct DataD

unNewtypeD :: Dec -> Maybe (Cxt, Name, [TyVarBndr], Maybe Kind, Con, [Type]) Source #

Compatible interface to destruct NewtypeD

unDataInstD :: Dec -> Maybe (Cxt, Name, [Type], Maybe Kind, [Con], [Type]) Source #

Compatible interface to destruct DataInstD

unNewtypeInstD :: Dec -> Maybe (Cxt, Name, [Type], Maybe Kind, Con, [Type]) Source #

Compatible interface to destruct NewtypeInstD

unInstanceD :: Dec -> Maybe (Cxt, Type, [Dec]) Source #

Compatible interface to destruct InstanceD No Overlap type is defined before template-haskell-2.11.