HORIZON HASKELLDocslts/ghc-10.0.x77a86622026-10-31Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 77a8662 · 2026-10-31

Modulelens-5.3.6Haskell2010

Language.Haskell.TH.Lens

Lenses, Prisms, and Traversals for working with Template Haskell.

Beware that the API offered in this module is subject to change, as it mirrors the API exposed by the template-haskell package, which frequently changes between different releases of GHC. An effort is made to identify the functions in this module which have different type signatures when compiled with different versions of template-haskell.

Contents
  1. Traversals
  2. Lenses
  3. Loc Lenses
  4. FunDep Lenses
  5. Match Lenses
  6. Fixity Lenses
  7. Clause Lenses
  8. FieldExp Lenses
  9. FieldPat Lenses
  10. TySynEqn Lenses
  11. InjectivityAnn Lenses
  12. TypeFamilyHead Lenses
  13. Bang Lenses
  14. DerivClause Lenses
  15. Prisms
  16. Info Prisms
  17. Dec Prisms
  18. PatSynDir Prisms
  19. PatSynArgs Prisms
  20. Con Prisms
  21. NamespaceSpecifier Prisms
  22. Overlap Prisms
  23. SourceUnpackedness Prisms
  24. SourceStrictness Prisms
  25. DecidedStrictness Prisms
  26. Foreign Prisms
  27. Callconv Prisms
  28. Safety Prisms
  29. Pragma Prisms
  30. Inline Prisms
  31. RuleMatch Prisms
  32. Phases Prisms
  33. RuleBndr Prisms
  34. AnnTarget Prisms
  35. FunDep Prisms TODO make a lens
  36. FixityDirection Prisms
  37. Exp Prisms
  38. Body Prisms
  39. Guard Prisms
  40. Stmt Prisms
  41. Range Prisms
  42. Lit Prisms
  43. Pat Prisms
  44. Type Prisms
  45. Specificity Prisms
  46. BndrVis Prisms
  47. TyVarBndr Prisms
  48. FamilyResultSig Prisms
  49. TyLit Prisms
  50. Role Prisms
  51. DerivStrategy Prisms
Synopsis
  • Packagelens-5.3.6
  • Exports268
  • LanguageHaskell2010
  • LicenceBSD-2-Clause
  • SourceLens.hs

Traversals

classclass HasName t where

Has a Name

Methods

Instances7HasName, …
classclass HasTypeVars t where

Provides for the extraction of free type variables, and alpha renaming.

Methods

  • typeVarsEx :: Set Name -> Traversal' t Name

    When performing substitution into this traversal you're not allowed to substitute in a name that is bound internally or you'll violate the Traversal laws, when in doubt generate your names with newName.

Instances7HasTypeVars, …

Lenses

Loc Lenses

FunDep Lenses

Match Lenses

Fixity Lenses

Clause Lenses

FieldExp Lenses

FieldPat Lenses

TySynEqn Lenses

InjectivityAnn Lenses

TypeFamilyHead Lenses

Bang Lenses

DerivClause Lenses

Prisms

Info Prisms

Dec Prisms

PatSynDir Prisms

PatSynArgs Prisms

Con Prisms

NamespaceSpecifier Prisms

Overlap Prisms

SourceUnpackedness Prisms

SourceStrictness Prisms

DecidedStrictness Prisms

Foreign Prisms

Callconv Prisms

Safety Prisms

Pragma Prisms

Inline Prisms

RuleMatch Prisms

Phases Prisms

RuleBndr Prisms

AnnTarget Prisms

FunDep Prisms TODO make a lens

FixityDirection Prisms

Exp Prisms

Body Prisms

Guard Prisms

Stmt Prisms

Range Prisms

Lit Prisms

Pat Prisms

Type Prisms

Specificity Prisms

BndrVis Prisms

TyVarBndr Prisms

FamilyResultSig Prisms

TyLit Prisms

Role Prisms

DerivStrategy Prisms