HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Moduletemplate-haskell-2.22.0.0Haskell2010

Language.Haskell.TH.Lib.Internal

Language.Haskell.TH.Lib.Internal exposes some additional functionality that is used internally in GHC's integration with Template Haskell. This is not a part of the public API, and as such, there are no API guarantees for this module from version to version.

  • 41 types
  • 253 values

Type synonyms

41 declarations
typetype TExpQ (a :: TYPE r) = Q (TExp a)
#

Representation-polymorphic since template-haskell-2.17.0.0.

Lowercase pattern syntax functions

31 declarations

Stmt

5 declarations

Range

4 declarations

Body

2 declarations

Guard

4 declarations

Match and Clause

2 declarations

Exp

41 declarations

arithSeqE Shortcuts

Dec

56 declarations
valueimplicitParamBindD :: Quote m => String -> m Exp -> m Dec
#

Implicit parameter binding declaration. Can only be used in let and where clauses which consist entirely of implicit bindings.

Type

42 declarations
valueclassP :: Quote m => Name -> [m Type] -> m Pred
#

Deprecated. As of template-haskell-2.10, constraint predicates (Pred) are just types (Type), in keeping with ConstraintKinds. Please use conT and appT.

valueequalP :: Quote m => m Type -> m Type -> m Pred
#

Deprecated. As of template-haskell-2.10, constraint predicates (Pred) are just types (Type), in keeping with ConstraintKinds. Please see equalityT.

Type Literals

3 declarations

Kind

18 declarations

Type family result

3 declarations

Injectivity annotation

1 declaration

Role

4 declarations

Callconv

5 declarations

Safety

3 declarations

FunDep

1 declaration

RuleBndr

2 declarations

AnnTarget

3 declarations

Pattern Synonyms (sub constructs)

6 declarations

Useful helper function

2 declarations

Documentation combinators

10 declarations
valuewithDecDoc :: String -> Q Dec -> Q Dec
#

Attaches Haddock documentation to the declaration provided. Unlike putDoc, the names do not need to be in scope when calling this function so it can be used for quoted declarations and anything else currently being spliced. Not all declarations can have documentation attached to them. For those that can't, withDecDoc will return it unchanged without any side effects.

valuewithDecsDoc :: String -> Q [Dec] -> Q [Dec]
#

Variant of withDecDoc that applies the same documentation to multiple declarations. Useful for documenting quoted declarations.