Copyright | (C) 2014-2015 Edward Kmett, (C) 2014 Eric Mertens |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | Trustworthy |
Language | Haskell98 |
- data LensRules = LensRules {
- _simpleLenses :: Bool
- _generateSigs :: Bool
- _generateClasses :: Bool
- _allowIsos :: Bool
- _allowUpdates :: Bool
- _lazyPatterns :: Bool
- _fieldToDef :: Name -> [Name] -> Name -> [DefName]
- _classyLenses :: Name -> Maybe (Name, Name)
- data DefName
- makeFieldOptics :: LensRules -> Name -> DecsQ
- makeFieldOpticsForDec :: LensRules -> Dec -> DecsQ
Documentation
LensRules | |
|
Name to give to generated field optics.
TopName Name | Simple top-level definiton name |
MethodName Name Name | makeFields-style class name and method name |
makeFieldOptics :: LensRules -> Name -> DecsQ Source
Compute the field optics for the type identified by the given type name. Lenses will be computed when possible, Traversals otherwise.
makeFieldOpticsForDec :: LensRules -> Dec -> DecsQ Source