Hoogle Search

Within LTS Haskell 24.40 (ghc-9.10.3)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. PatSynSigD :: Name -> PatSynType -> Dec

    ghc-lib-parser GHC.Internal.TH.Syntax

    A pattern synonym's type signature.

  2. type PatSynType = Type

    ghc-lib-parser GHC.Internal.TH.Syntax

    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 form
    pattern P :: forall universals.   required constraints
    => forall existentials. provided constraints
    => t1 -> t2 -> ... -> tn -> t
    
    consisting of four parts:
    1. the (possibly empty lists of) universally quantified type variables and required constraints on them.
    2. the (possibly empty lists of) existentially quantified type variables and the provided constraints on them.
    3. the types t1, t2, .., tn of x1, x2, .., xn, respectively
    4. the type t of <some-pattern>, mentioning only universals.
    Pattern synonym types interact with TH when (a) reifying a pattern synonym, (b) pretty printing, or (c) specifying a pattern synonym's type signature explicitly:
    • 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.
    See the GHC user's guide for more information on pattern synonyms and their types: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#pattern-synonyms.

  3. PhantomR :: Role

    ghc-lib-parser GHC.Internal.TH.Syntax

    phantom
    

  4. data Phases

    ghc-lib-parser GHC.Internal.TH.Syntax

    Phase control syntax.

  5. newtype PkgName

    ghc-lib-parser GHC.Internal.TH.Syntax

    The name of a package.

  6. PkgName :: String -> PkgName

    ghc-lib-parser GHC.Internal.TH.Syntax

    No documentation available.

  7. PlainTV :: Name -> flag -> TyVarBndr flag

    ghc-lib-parser GHC.Internal.TH.Syntax

    a
    

  8. data Pragma

    ghc-lib-parser GHC.Internal.TH.Syntax

    No documentation available.

  9. PragmaD :: Pragma -> Dec

    ghc-lib-parser GHC.Internal.TH.Syntax

    pragmas

  10. type Pred = Type

    ghc-lib-parser GHC.Internal.TH.Syntax

    Since the advent of ConstraintKinds, constraints are really just types. Equality constraints use the EqualityT constructor. Constraints may also be tuples of other constraints.

Page 528 of many | Previous | Next