| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
GHC.Stg.Lift.Types
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 GenStgExprs.
Constructors
| 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 Methods ppr :: BinderInfo -> SDoc Source #  | |
| OutputableBndr BinderInfo Source # | |
Defined in GHC.Stg.Lift.Types Methods 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 BoringBinders and Just the flag indicating
 occurrences as argument or in a nullary applications otherwise.