Hoogle Search
Within LTS Haskell 24.36 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
template-haskell Language.Haskell.TH A pattern synonym's type. Note that a pattern synonym's fully specified type has a peculiar shape coming with two forall quantifiers and two constraint contexts. For example, consider the pattern synonym
pattern P x1 x2 ... xn = <some-pattern>
P's complete type is of the following formpattern P :: forall universals. required constraints => forall existentials. provided constraints => t1 -> t2 -> ... -> tn -> t
consisting of four parts:- the (possibly empty lists of) universally quantified type variables and required constraints on them.
- the (possibly empty lists of) existentially quantified type variables and the provided constraints on them.
- the types t1, t2, .., tn of x1, x2, .., xn, respectively
- the type t of <some-pattern>, mentioning only universals.
- Reification always returns a pattern synonym's fully specified type in abstract syntax.
- Pretty printing via pprPatSynType abbreviates a pattern synonym's type unambiguously in concrete syntax: The rule of thumb is to print initial empty universals and the required context as () =>, if existentials and a provided context follow. If only universals and their required context, but no existentials are specified, only the universals and their required context are printed. If both or none are specified, so both (or none) are printed.
- When specifying a pattern synonym's type explicitly with PatSynSigD either one of the universals, the existentials, or their contexts may be left empty.
-
template-haskell Language.Haskell.TH No documentation available.
-
template-haskell Language.Haskell.TH No documentation available.
-
template-haskell Language.Haskell.TH phantom
-
template-haskell Language.Haskell.TH No documentation available.
PlainTV :: Name -> flag -> TyVarBndr flagtemplate-haskell Language.Haskell.TH a
-
template-haskell Language.Haskell.TH No documentation available.
-
template-haskell Language.Haskell.TH No documentation available.
-
template-haskell Language.Haskell.TH No documentation available.
-
template-haskell Language.Haskell.TH No documentation available.