extensible-0.3.7: Extensible, efficient, optics-friendly data types

Copyright(c) Fumiaki Kinoshita 2015
LicenseBSD3
MaintainerFumiaki Kinoshita <fumiexcel@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellTrustworthy
LanguageHaskell2010

Data.Extensible.TH

Description

 

Synopsis

Documentation

mkField :: String -> DecsQ Source

Generate fields using itemAssoc. mkField "foo Bar" defines:

foo :: FieldOptic "foo"
foo = itemAssoc (Proxy :: Proxy "foo")
_Bar :: FieldOptic Bar
_Bar = itemAssoc (Proxy :: Proxy Bar)

decEffects :: DecsQ -> DecsQ Source

Generate named effects from a GADT declaration.