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.
splitFunTy_maybe :: Type -> Maybe (FunTyFlag, Mult, Type, Type)ghc GHC.Core.Type Attempts to extract the multiplicity, argument and result types from a type
splitPiTy_maybe :: Type -> Maybe (PiTyBinder, Type)ghc GHC.Core.Type Attempts to take a forall type apart; works with proper foralls and functions
splitRuntimeRep_maybe :: RuntimeRepType -> Maybe (TyCon, [Type])ghc GHC.Core.Type (splitRuntimeRep_maybe rr) takes a Type rr :: RuntimeRep, and returns the (TyCon,[Type]) for the RuntimeRep, if possible, where the TyCon is one of the promoted DataCons of RuntimeRep. Remember: the unique on TyCon that is a a promoted DataCon is the same as the unique on the DataCon See Note [Promoted data constructors] in GHC.Core.TyCon May not be possible if rr is a type variable or type family application
splitTyConAppNoView_maybe :: HasDebugCallStack => Type -> Maybe (TyCon, [Type])ghc GHC.Core.Type No documentation available.
splitTyConApp_maybe :: HasDebugCallStack => Type -> Maybe (TyCon, [Type])ghc GHC.Core.Type Attempts to tease a type apart into a type constructor and the application of a number of arguments to that constructor
tcSplitAppTyNoView_maybe :: Type -> Maybe (Type, Type)ghc GHC.Core.Type Just like splitAppTyNoView_maybe, but does not split (c => t) See Note [Decomposing fat arrow c=>t]
tcSplitTyConApp_maybe :: HasCallStack => Type -> Maybe (TyCon, [Type])ghc GHC.Core.Type tcSplitTyConApp_maybe splits a type constructor application into its type constructor and applied types. Differs from splitTyConApp_maybe in that it does *not* split types headed with (=>), as that's not a TyCon in the type-checker. Note that this may fail (in funTyConAppTy_maybe) in the case of a FunTy with an argument of unknown kind FunTy (e.g. `FunTy (a :: k) Int`, since the kind of a isn't of the form `TYPE rep`. This isn't usually a problem but may be temporarily the case during canonicalization: see Note [Decomposing FunTy] in GHC.Tc.Solver.Equality and Note [The Purely Kinded Type Invariant (PKTI)] in GHC.Tc.Gen.HsType, Wrinkle around FunTy Consequently, you may need to zonk your type before using this function.
tyConAppArgs_maybe :: Type -> Maybe [Type]ghc GHC.Core.Type The same as snd . splitTyConApp
tyConAppFunCo_maybe :: HasDebugCallStack => Role -> TyCon -> [Coercion] -> Maybe Coercionghc GHC.Core.Type Return Just if this TyConAppCo should be represented as a FunCo
tyConAppFunTy_maybe :: HasDebugCallStack => TyCon -> [Type] -> Maybe Typeghc GHC.Core.Type Return Just if this TyConApp should be represented as a FunTy