ghc-simple-0.2.1: Simplified interface to the GHC API.

Safe HaskellNone
LanguageHaskell2010

Language.Haskell.GHC.Simple.Impl

Description

Lower level building blocks for custom code generation.

Synopsis

Documentation

data Ghc a :: * -> *

A minimal implementation of a GhcMonad. If you need a custom monad, e.g., to maintain additional state consider wrapping this monad or using GhcT.

type PkgKey = PackageKey Source

Synonym for PackageKey, to bridge a slight incompatibility between GHC 7.8 and 7.10.

liftIO :: MonadIO m => forall a. IO a -> m a

Lift a computation from the IO monad.

toSimplifiedStg :: ModSummary -> CgGuts -> CompPipeline [StgBinding] Source

Compile a ModSummary into a list of simplified StgBindings. See https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/StgSynType for more information about STG and how it relates to core and Haskell.

toModMetadata :: CompConfig -> Bool -> [Target] -> ModSummary -> ModMetadata Source

Build a ModMetadata out of scattered metadata.

modulePkgKey :: Module -> PkgKey Source

Package ID/key of a module.

pkgKeyString :: PkgKey -> String Source

String representation of a package ID/key.