Copyright | (c) Fumiaki Kinoshita 2015 |
---|---|
License | BSD3 |
Maintainer | Fumiaki Kinoshita <fumiexcel@gmail.com> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Documentation
decFields :: DecsQ -> DecsQ Source
Generate newtype wrappers and lenses from type synonyms.
decFields [d|type Foo = Int|]
Generates:
newtype Foo = Foo Int foo :: (Foo ∈ xs) => Lens' (AllOf xs) Int foo = accessing Foo
decEffects :: DecsQ -> DecsQ Source
Generate named effects from a GADT declaration.