Modulemicrolens-th-0.4.3.16Haskell2010
Lens.Micro.TH.Internal
Functions used by Lens.Micro.TH. This is an internal module and it may go away or change at any time; do not depend on it.
- 2 classes
- 14 values
- Packagemicrolens-th-0.4.3.16
- Exports16
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceInternal.hs
Name utilities
2 declarationsGenerate many new names from a given base name.
Type variable utilities
3 declarationsProvides for the extraction of free type variables, and alpha renaming.
Methods
typeVarsEx :: Set Name -> Traversal' t Name
Instances6HasTypeVars
HasTypeVars ConDefined in microlens-th-0.4.3.16 · Lens.Micro.TH.InternalHasTypeVars NameDefined in microlens-th-0.4.3.16 · Lens.Micro.TH.InternalHasTypeVars TypeDefined in microlens-th-0.4.3.16 · Lens.Micro.TH.InternalHasTypeVars (TyVarBndr_ flag)Defined in microlens-th-0.4.3.16 · Lens.Micro.TH.InternalHasTypeVars t => HasTypeVars (Maybe t)Defined in microlens-th-0.4.3.16 · Lens.Micro.TH.InternalHasTypeVars t => HasTypeVars [t]Defined in microlens-th-0.4.3.16 · Lens.Micro.TH.Internal
Miscellaneous utilities
7 declarationsGenerate an INLINE pragma.
Apply arguments to a type constructor.
Template Haskell wants type variables declared in a forall, so we find all free type variables in a given type and declare them.
This function works like quantifyType except that it takes a list of variables to exclude from quantification.
Peel off a kind signature from a Type (if it has one).