diff options
Diffstat (limited to 'iserv')
-rw-r--r-- | iserv/src/Main.hs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/iserv/src/Main.hs b/iserv/src/Main.hs index 2e4555b017..3fcd49f5c7 100644 --- a/iserv/src/Main.hs +++ b/iserv/src/Main.hs @@ -1,4 +1,11 @@ {-# LANGUAGE RecordWildCards, GADTs, ScopedTypeVariables, RankNTypes #-} + +-- | +-- The Remote GHCi server. +-- +-- For details on Remote GHCi, see Note [Remote GHCi] in +-- compiler/ghci/GHCi.hs. +-- module Main (main) where import GHCi.Run @@ -55,6 +62,10 @@ serv verbose pipe@Pipe{..} restore = loop writePipe pipe (put r) loop + -- Run some TH code, which may interact with GHC by sending + -- THMessage requests, and then finally send RunTHDone followed by a + -- QResult. For an overview of how TH works with Remote GHCi, see + -- Note [Remote Template Haskell] in libraries/ghci/GHCi/TH.hs. wrapRunTH :: forall a. (Binary a, Show a) => IO a -> IO () wrapRunTH io = do r <- try io |