-- 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 ()