GHC.Stg.InferTags.Types

ghc-9.10.0.20240426: The GHC API

Safe Haskell | None
Language | GHC2021

GHC.Stg.InferTags.Types

Synopsis

- noSig :: forall (p :: StgPass). TagEnv p -> BinderP p -> (Id, TagSig)
- type InferStgTopBinding = GenStgTopBinding 'InferTaggedBinders
- extendSigEnv :: forall (p :: StgPass). TagEnv p -> [(Id, TagSig)] -> TagEnv p
- initEnv :: Bool -> TagEnv 'CodeGen
- type InferStgBinding = GenStgBinding 'InferTaggedBinders
- type InferStgExpr = GenStgExpr 'InferTaggedBinders
- type InferStgRhs = GenStgRhs 'InferTaggedBinders
- type InferStgAlt = GenStgAlt 'InferTaggedBinders
- combineAltInfo :: TagInfo -> TagInfo -> TagInfo
- type TagSigEnv = IdEnv TagSig
- data TagEnv (p :: StgPass) = TE {
  - te_env :: TagSigEnv
  - te_get :: BinderP p -> Id
  - te_bytecode :: !Bool
  }
- getBinderId :: forall (p :: StgPass). TagEnv p -> BinderP p -> Id
- makeTagged :: forall (p :: StgPass). TagEnv p -> TagEnv 'InferTaggedBinders
- lookupSig :: forall (p :: StgPass). TagEnv p -> Id -> Maybe TagSig
- lookupInfo :: forall (p :: StgPass). TagEnv p -> StgArg -> TagInfo
- isDunnoSig :: TagSig -> Bool
- isTaggedInfo :: TagInfo -> Bool
- module GHC.Stg.InferTags.TagSig

# Documentation

noSig :: forall (p :: StgPass). TagEnv p -> BinderP p -> (Id, TagSig) Source #

type InferStgTopBinding = GenStgTopBinding 'InferTaggedBinders Source #

extendSigEnv :: forall (p :: StgPass). TagEnv p -> [(Id, TagSig)] -> TagEnv p Source #

initEnv :: Bool -> TagEnv 'CodeGen Source #

type InferStgBinding = GenStgBinding 'InferTaggedBinders Source #

type InferStgExpr = GenStgExpr 'InferTaggedBinders Source #

type InferStgRhs = GenStgRhs 'InferTaggedBinders Source #

type InferStgAlt = GenStgAlt 'InferTaggedBinders Source #

combineAltInfo :: TagInfo -> TagInfo -> TagInfo Source #

type TagSigEnv = IdEnv TagSig Source #

data TagEnv (p :: StgPass) Source #

Constructors

TE |
Fields te_env :: TagSigEnv te_get :: BinderP p -> Id te_bytecode :: !Bool

#### Instances

Instances details

Outputable (TagEnv p) Source # |
Instance details Defined in GHC.Stg.InferTags.Types Methods ppr :: TagEnv p -> SDoc Source #

getBinderId :: forall (p :: StgPass). TagEnv p -> BinderP p -> Id Source #

makeTagged :: forall (p :: StgPass). TagEnv p -> TagEnv 'InferTaggedBinders Source #

Simple convert env to a env of the 'InferTaggedBinders pass with no other changes.

lookupSig :: forall (p :: StgPass). TagEnv p -> Id -> Maybe TagSig Source #

Look up a sig in the given env

lookupInfo :: forall (p :: StgPass). TagEnv p -> StgArg -> TagInfo Source #

Look up a sig in the env or derive it from information in the arg itself.

isDunnoSig :: TagSig -> Bool Source #

isTaggedInfo :: TagInfo -> Bool Source #

module GHC.Stg.InferTags.TagSig