summaryrefslogtreecommitdiff
path: root/compiler/GHC/Runtime/Interpreter/Types.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Runtime/Interpreter/Types.hs')
-rw-r--r--compiler/GHC/Runtime/Interpreter/Types.hs15
1 files changed, 13 insertions, 2 deletions
diff --git a/compiler/GHC/Runtime/Interpreter/Types.hs b/compiler/GHC/Runtime/Interpreter/Types.hs
index 5c267f5ec1..e1b33198d0 100644
--- a/compiler/GHC/Runtime/Interpreter/Types.hs
+++ b/compiler/GHC/Runtime/Interpreter/Types.hs
@@ -3,6 +3,7 @@
-- | Types used by the runtime interpreter
module GHC.Runtime.Interpreter.Types
( Interp(..)
+ , InterpInstance(..)
, IServ(..)
, IServInstance(..)
, IServConfig(..)
@@ -11,6 +12,7 @@ module GHC.Runtime.Interpreter.Types
where
import GHC.Prelude
+import GHC.Linker.Types
import GHCi.RemoteTypes
import GHCi.Message ( Pipe )
@@ -21,8 +23,17 @@ import Foreign
import Control.Concurrent
import System.Process ( ProcessHandle, CreateProcess )
--- | Runtime interpreter
-data Interp
+-- | Interpreter
+data Interp = Interp
+ { interpInstance :: !InterpInstance
+ -- ^ Interpreter instance (internal, external)
+
+ , interpLoader :: !Loader
+ -- ^ Interpreter loader
+ }
+
+
+data InterpInstance
= ExternalInterp !IServConfig !IServ -- ^ External interpreter
#if defined(HAVE_INTERNAL_INTERPRETER)
| InternalInterp -- ^ Internal interpreter