Control.Lens.TH

# Constructing Lenses Automatically

## Lenses for data fields

makeLenses

makeLensesFor

makeClassy

makeClassyFor

makeClassy_

makeFields

## Prisms

makePrisms

makeClassyPrisms

## Wrapped

makeWrapped

# Constructing Lenses Given a Declaration Quote

## Lenses for data fields

declareLenses

declareLensesFor

declareClassy

declareClassyFor

declareFields

## Prisms

declarePrisms

## Wrapped

declareWrapped

# Configuring Lenses

## Running LensRules

makeLensesWith

declareLensesWith

## LensRules type

data LensRules

## Predefined LensRules

lensRules

lensRulesFor

classyRules

classyRules_

defaultFieldRules

camelCaseFields

underscoreFields

abbreviatedFields

## LensRules configuration accessors

lensField

type FieldNamer

data DefName

lensClass

type ClassyNamer

simpleLenses

createClass

generateSignatures

generateUpdateableOptics

generateLazyPatterns

## FieldNamers

underscoreNoPrefixNamer

lookingupNamer

mappingNamer

camelCaseNamer

underscoreNamer

abbreviatedNamer