-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A server interface to GHC. -- -- A server interface to GHC. Supported major GHC versions: 7.4, 7.6, 7.8 @package ghc-server @version 1.0 -- | Compatibility layer for GHC. Supports GHC 7.4, 7.6, 7.8. -- -- None of the ghc-server project should import from the GHC API -- directly, it should import via this layer. It exports everything from -- the GHC API that is needed. Ideally, only this module will use CPP, -- too. -- -- Some symbols are not exported, usurped by compatible re-definitions. -- These compatibility wrappers are added on a case-by-case basis. -- Otherwise, everything is re-exported. -- -- Each function has a type signature. Under each type signature lies an -- implementation dependent upon a specific major GHC version. When a new -- GHC version is added to the test builds, a new #if section will needed -- to be added for that specific version. If not, there will be a build -- error. This helps to ensure specific versions are dealt with. module GHC.Compat -- | Wraps parseImportDecl. parseImportDecl :: GhcMonad m => String -> m (ImportDecl RdrName) -- | Wraps typeKind. typeKind :: GhcMonad m => String -> m Kind -- | Wraps setContext. setContext :: GhcMonad m => [ImportDecl RdrName] -> m () -- | Wraps defaultErrorHandler. defaultErrorHandler :: (MonadIO m, ExceptionMonad m) => m a -> m a -- | Wraps showSDocForUser. showSDocForUser :: DynFlags -> PrintUnqualified -> SDoc -> String -- | Sets the log action for the session. setLogAction :: GhcMonad m => LogAction -> m () -- | Wraps showSDoc. showSDoc :: DynFlags -> SDoc -> String -- | Wraps getInfo. getInfo :: GhcMonad m => Name -> m (Maybe (TyThing, Fixity, [SomeInstance])) -- | Add an import declaration to the context with setContext. addToContext :: GhcMonad m => ImportDecl RdrName -> m () instance MonadIO Ghc -- | Imported running actions for doing IO evaluation in the server. module GHC.Server.IO -- | Run the given IO action, capturing its stdout output and passing it to -- the continuation. runIO :: IO b -> (ByteString -> IO ()) -> IO b -- | Main socket server. module GHC.Server -- | Start a server. startAccepter :: IO ()