Representation-polymorphic since template-haskell-2.17.0.0.
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
- Packagetemplate-haskell-2.22.0.0
- Exports294
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceInternal.hs
Type synonyms
41 declarationsLowercase pattern syntax functions
31 declarationsStmt
5 declarationsRange
4 declarationsBody
2 declarationsGuard
4 declarationsMatch and Clause
2 declarationsUse with caseE
Use with funD
Exp
41 declarationsDynamically binding a variable (unhygienic)
Single-arg lambda
Lambda-case (case)
Lambda-cases (cases)
staticE x = [| static x |]arithSeqE Shortcuts
Dec
56 declarationsPattern synonym declaration
Pattern synonym type signature
Implicit parameter binding declaration. Can only be used in let and where clauses which consist entirely of implicit bindings.
Type
42 declarationsDeprecated. As of template-haskell-2.10, constraint predicates (Pred) are just types (Type), in keeping with ConstraintKinds. Please see equalityT.
Deprecated. Use bang. See https://gitlab.haskell.org/ghc/ghc/wikis/migration/8.0. Example usage: 'bang noSourceUnpackedness sourceStrict'
Deprecated. Use bang. See https://gitlab.haskell.org/ghc/ghc/wikis/migration/8.0. Example usage: 'bang noSourceUnpackedness noSourceStrictness'
Deprecated. Use bang. See https://gitlab.haskell.org/ghc/ghc/wikis/migration/8.0. Example usage: 'bang sourceUnpack sourceStrict'
Deprecated. As of template-haskell-2.11.0.0, StrictType has been replaced by BangType. Please use bangType instead.
Deprecated. As of template-haskell-2.11.0.0, VarStrictType has been replaced by VarBangType. Please use varBangType instead.
Type Literals
3 declarationsKind
18 declarationsType family result
3 declarationsInjectivity annotation
1 declarationRole
4 declarationsCallconv
5 declarationsSafety
3 declarationsFunDep
1 declarationRuleBndr
2 declarationsAnnTarget
3 declarationsPattern Synonyms (sub constructs)
6 declarationsUseful helper function
2 declarationspure the Module at the place of splicing. Can be used as an input for reifyModule.
Documentation combinators
10 declarationsAttaches 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.
Variant of withDecDoc that applies the same documentation to multiple declarations. Useful for documenting quoted declarations.
funD_doc Variant of funD that attaches Haddock documentation.
dataD_doc Variant of dataD that attaches Haddock documentation.
newtypeD_doc Variant of newtypeD that attaches Haddock documentation.
typeDataD_doc Variant of typeDataD that attaches Haddock documentation.
dataInstD_doc Variant of dataInstD that attaches Haddock documentation.
newtypeInstD_doc Variant of newtypeInstD that attaches Haddock documentation.
patSynD_doc Variant of patSynD that attaches Haddock documentation.
Document a data/newtype constructor with its arguments.