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.

  1. PatG :: [Stmt] -> Guard

    template-haskell Language.Haskell.TH.Syntax

    f x { | Just y <- x, Just z <- y } = z
    

  2. data PatSynArgs

    template-haskell Language.Haskell.TH.Syntax

    A pattern synonym's argument type.

  3. PatSynD :: Name -> PatSynArgs -> PatSynDir -> Pat -> Dec

    template-haskell Language.Haskell.TH.Syntax

    Pattern Synonyms

  4. data PatSynDir

    template-haskell Language.Haskell.TH.Syntax

    A pattern synonym's directionality.

  5. PatSynI :: Name -> PatSynType -> Info

    template-haskell Language.Haskell.TH.Syntax

    A pattern synonym

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

    template-haskell Language.Haskell.TH.Syntax

    A pattern synonym's type signature.

  7. type PatSynType = Type

    template-haskell Language.Haskell.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.

  8. PhantomR :: Role

    template-haskell Language.Haskell.TH.Syntax

    phantom
    

  9. data Phases

    template-haskell Language.Haskell.TH.Syntax

    No documentation available.

  10. newtype PkgName

    template-haskell Language.Haskell.TH.Syntax

    No documentation available.

Page 31 of many | Previous | Next