Hoogle Search

Within LTS Haskell 24.51 (ghc-9.10.3)

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

  1. topNormaliseType_maybe :: FamInstEnvs -> Type -> Maybe Reduction

    ghc GHC.Core.FamInstEnv

    Get rid of *outermost* (or toplevel) * type function redex * data family redex * newtypes returning an appropriate Representational coercion. Specifically, if topNormaliseType_maybe env ty = Just (co, ty') then (a) co :: ty ~R ty' (b) ty' is not a newtype, and is not a type-family or data-family redex However, ty' can be something like (Maybe (F ty)), where (F ty) is a redex. Always operates homogeneously: the returned type has the same kind as the original type, and the returned coercion is always homogeneous.

  2. topReduceTyFamApp_maybe :: FamInstEnvs -> TyCon -> [Type] -> Maybe HetReduction

    ghc GHC.Core.FamInstEnv

    Try to simplify a type-family application, by *one* step If topReduceTyFamApp_maybe env r F tys = Just (HetReduction (Reduction co rhs) res_co) then co :: F tys ~R# rhs res_co :: typeKind(F tys) ~ typeKind(rhs) Type families and data families; always Representational role

  3. setOverlapModeMaybe :: OverlapFlag -> Maybe OverlapMode -> OverlapFlag

    ghc GHC.Core.InstEnv

    No documentation available.

  4. arityTypeBotSigs_maybe :: ArityType -> Maybe (Arity, DmdSig, CprSig)

    ghc GHC.Core.Opt.Arity

    No documentation available.

  5. exprBotStrictness_maybe :: CoreExpr -> Maybe (Arity, DmdSig, CprSig)

    ghc GHC.Core.Opt.Arity

    No documentation available.

  6. scrutBinderSwap_maybe :: OutExpr -> Maybe (OutVar, MCoercion)

    ghc GHC.Core.Opt.OccurAnal

    No documentation available.

  7. getClassPredTys_maybe :: PredType -> Maybe (Class, [Type])

    ghc GHC.Core.Predicate

    No documentation available.

  8. getEqPredTys_maybe :: PredType -> Maybe (Role, Type, Type)

    ghc GHC.Core.Predicate

    No documentation available.

  9. isIPPred_maybe :: Class -> [Type] -> Maybe (Type, Type)

    ghc GHC.Core.Predicate

    Decomposes a predicate if it is an implicit parameter. Does not look in superclasses. See also [Local implicit parameters].

  10. exprIsConApp_maybe :: HasDebugCallStack => InScopeEnv -> CoreExpr -> Maybe (InScopeSet, [FloatBind], DataCon, [Type], [CoreExpr])

    ghc GHC.Core.SimpleOpt

    Returns Just ([b1..bp], dc, [t1..tk], [x1..xn]) if the argument expression is a *saturated* constructor application of the form let b1 in .. let bp in dc t1..tk x1 .. xn, where t1..tk are the *universally-quantified* type args of dc. Floats can also be (and most likely are) single-alternative case expressions. Why does exprIsConApp_maybe return floats? We may have to look through lets and cases to detect that we are in the presence of a data constructor wrapper. In this case, we need to return the lets and cases that we traversed. See Note [exprIsConApp_maybe on data constructors with wrappers]. Data constructor wrappers are unfolded late, but we really want to trigger case-of-known-constructor as early as possible. See also Note [Activation for data constructor wrappers] in GHC.Types.Id.Make. We also return the incoming InScopeSet, augmented with the binders from any [FloatBind] that we return

Page 124 of many | Previous | Next