NCGMonad

ghc-7.10.2: The GHC API

Safe Haskell | None
Language | Haskell2010

NCGMonad

# Documentation

data NatM_State Source

Constructors

NatM_State |
Fields natm_us :: UniqSupply natm_delta :: Int natm_imports :: [CLabel] natm_pic :: Maybe Reg natm_dflags :: DynFlags natm_this_module :: Module natm_modloc :: ModLocation natm_fileid :: DwarfFiles natm_debug_map :: LabelMap DebugBlock

mkNatM_State :: UniqSupply -> Int -> DynFlags -> Module -> ModLocation -> DwarfFiles -> LabelMap DebugBlock -> NatM_State Source

data NatM result Source

Instances

Monad NatM |
Functor NatM |
Applicative NatM |
HasDynFlags NatM |
CmmMakeDynamicReferenceM NatM |

initNat :: NatM_State -> NatM a -> (a, NatM_State) Source

addImportNat :: CLabel -> NatM () Source

getUniqueNat :: NatM Unique Source

mapAccumLNat :: (acc -> x -> NatM (acc, y)) -> acc -> [x] -> NatM (acc, [y]) Source

setDeltaNat :: Int -> NatM () Source

getDeltaNat :: NatM Int Source

getThisModuleNat :: NatM Module Source

getBlockIdNat :: NatM BlockId Source

getNewLabelNat :: NatM CLabel Source

getNewRegNat :: Size -> NatM Reg Source

getNewRegPairNat :: Size -> NatM (Reg, Reg) Source

getPicBaseMaybeNat :: NatM (Maybe Reg) Source

getPicBaseNat :: Size -> NatM Reg Source

getDynFlags :: HasDynFlags m => m DynFlags Source

getModLoc :: NatM ModLocation Source

getFileId :: FastString -> NatM Int Source

getDebugBlock :: Label -> NatM (Maybe DebugBlock) Source

type DwarfFiles = UniqFM (FastString, Int) Source