Modulemicrolens-th-0.4.3.18Haskell2010
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.
Synopsis
- class HasName
- value newNames
- class HasTypeVars
- value typeVars
- value substTypeVars
- value datatypeTypeKinded
- value inlinePragma
- value conAppsT
- value quantifyType
- value quantifyType'
- value tvbToType
- value unSigT
- value elemOf
- value lengthOf
- value setOf
- value _ForallT
- Packagemicrolens-th-0.4.3.18
- Exports16
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceInternal.hs
Name utilities
Generate many new names from a given base name.
Type variable utilities
Provides 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.18 · Lens.Micro.TH.InternalHasTypeVars NameDefined in microlens-th-0.4.3.18 · Lens.Micro.TH.InternalHasTypeVars TypeDefined in microlens-th-0.4.3.18 · Lens.Micro.TH.InternalHasTypeVars (TyVarBndr_ flag)Defined in microlens-th-0.4.3.18 · Lens.Micro.TH.InternalHasTypeVars t => HasTypeVars (Maybe t)Defined in microlens-th-0.4.3.18 · Lens.Micro.TH.InternalHasTypeVars t => HasTypeVars [t]Defined in microlens-th-0.4.3.18 · Lens.Micro.TH.Internal
Miscellaneous utilities
Generate 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).