product-isomorphic-0.0.3.1: Weaken applicative functor on products

Copyright2017 Kei Hibino
LicenseBSD3
Maintainerex8k.hibino@gmail.com
Stabilityexperimental
Portabilityunknown
Safe HaskellNone
LanguageHaskell2010

Data.Functor.ProductIsomorphic.TH

Contents

Description

This module exports templates to make product constructors.

Synopsis

Template of ProductConstructor

defineProductConstructor Source #

Arguments

:: Name

name of product or record type constructor

-> Q [Dec]

result template

Make template of ProductConstructor instance from type constructor name.

defineTupleProductConstructor Source #

Arguments

:: Int

n-tuple

-> Q [Dec]

result template

Make template of ProductConstructor instance of tuple type.

Low-level API to get record info

reifyRecordType :: Name -> Q (((TypeQ, [Name]), ExpQ), (Maybe [Name], [TypeQ])) Source #

Low-level reify interface for record type name.