Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data Skeleton
- bothSk :: Skeleton -> Skeleton -> Skeleton
- altSk :: Skeleton -> Skeleton -> Skeleton
- rhsSk :: Card -> Skeleton -> Skeleton
- data BinderInfo
- = BindsClosure !Id !Bool
- | BoringBinder !Id
- binderInfoBndr :: BinderInfo -> Id
- binderInfoOccursAsArg :: BinderInfo -> Maybe Bool
Documentation
Captures details of the syntax tree relevant to the cost model, such as closures, multi-shot lambdas and case expressions.
Instances
data BinderInfo Source #
The type used in binder positions in GenStgExpr
s.
BindsClosure !Id !Bool | Let(-no-escape)-bound thing with a flag indicating whether it occurs as an argument or in a nullary application (see GHC.Stg.Lift.Analysis). |
BoringBinder !Id | Every other kind of binder |
Instances
Outputable BinderInfo Source # | |
Defined in GHC.Stg.Lift.Types ppr :: BinderInfo -> SDoc Source # | |
OutputableBndr BinderInfo Source # | |
Defined in GHC.Stg.Lift.Types pprBndr :: BindingSite -> BinderInfo -> SDoc Source # pprPrefixOcc :: BinderInfo -> SDoc Source # pprInfixOcc :: BinderInfo -> SDoc Source # bndrIsJoin_maybe :: BinderInfo -> Maybe Int Source # |
binderInfoBndr :: BinderInfo -> Id Source #
Gets the bound Id
out a BinderInfo
.
binderInfoOccursAsArg :: BinderInfo -> Maybe Bool Source #
Returns Nothing
for BoringBinder
s and Just
the flag indicating
occurrences as argument or in a nullary applications otherwise.