Hoogle Search

Within LTS Haskell 24.38 (ghc-9.10.3)

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

  1. splitForAllReqTyBinders :: Type -> ([ReqTyBinder], Type)

    ghc GHC.Core.Type

    Like splitForAllTyCoVars, but only splits ForAllTys with Required type variable binders. Furthermore, each returned tyvar is annotated with ().

  2. splitForAllTyCoVar :: Type -> (TyCoVar, Type)

    ghc GHC.Core.Type

    Take a forall type apart, or panics if that is not possible.

  3. splitForAllTyCoVar_maybe :: Type -> Maybe (TyCoVar, Type)

    ghc GHC.Core.Type

    Attempts to take a ForAllTy apart, returning the Var

  4. splitForAllTyCoVars :: Type -> ([TyCoVar], Type)

    ghc GHC.Core.Type

    Take a ForAllTy apart, returning the list of tycovars and the result type. This always succeeds, even if it returns only an empty list. Note that the result type returned may have free variables that were bound by a forall.

  5. splitForAllTyVar_maybe :: Type -> Maybe (TyVar, Type)

    ghc GHC.Core.Type

    Attempts to take a ForAllTy apart, but only if the binder is a TyVar

  6. splitForAllTyVars :: Type -> ([TyVar], Type)

    ghc GHC.Core.Type

    Like splitForAllTyCoVars, but split only for tyvars. This always succeeds, even if it returns only an empty list. Note that the result type returned may have free variables that were bound by a forall.

  7. tidyForAllTyBinder :: TidyEnv -> VarBndr TyCoVar vis -> (TidyEnv, VarBndr TyCoVar vis)

    ghc GHC.Core.Type

    No documentation available.

  8. tidyForAllTyBinders :: TidyEnv -> [VarBndr TyCoVar vis] -> (TidyEnv, [VarBndr TyCoVar vis])

    ghc GHC.Core.Type

    No documentation available.

  9. tyConForAllTyFlags :: TyCon -> [Type] -> [ForAllTyFlag]

    ghc GHC.Core.Type

    Given a TyCon and a list of argument types to which the TyCon is applied, determine each argument's visibility (Inferred, Specified, or Required). Wrinkle: consider the following scenario:

    T :: forall k. k -> k
    tyConForAllTyFlags T [forall m. m -> m -> m, S, R, Q]
    
    After substituting, we get
    T (forall m. m -> m -> m) :: (forall m. m -> m -> m) -> forall n. n -> n -> n
    
    Thus, the first argument is invisible, S is visible, R is invisible again, and Q is visible.

  10. exprOkForSpecEval :: (Id -> Bool) -> CoreExpr -> Bool

    ghc GHC.Core.Utils

    A special version of exprOkForSpeculation used during Note [Speculative evaluation]. When the predicate arg fun_ok returns False for b, then b is never considered ok-for-spec.

Page 448 of many | Previous | Next