| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
GHC.Runtime.Interpreter.Types
Description
Types used by the runtime interpreter
Synopsis
- data Interp = Interp {}
- data InterpInstance = ExternalInterp !IServConfig !IServ
- newtype IServ = IServ (MVar IServState)
- data IServInstance = IServInstance {
- iservPipe :: !Pipe
- iservProcess :: !ProcessHandle
- iservLookupSymbolCache :: !(UniqFM FastString (Ptr ()))
- iservPendingFrees :: ![HValueRef]
- data IServConfig = IServConfig {
- iservConfProgram :: !String
- iservConfOpts :: ![String]
- iservConfProfiled :: !Bool
- iservConfDynamic :: !Bool
- iservConfHook :: !(Maybe (CreateProcess -> IO ProcessHandle))
- iservConfTrace :: IO ()
- data IServState
Documentation
Interpreter
Constructors
| Interp | |
Fields
| |
data InterpInstance Source #
Constructors
| ExternalInterp !IServConfig !IServ | External interpreter |
External interpreter
The external interpreter is spawned lazily (on first use) to avoid slowing down sessions that don't require it. The contents of the MVar reflects the state of the interpreter (running or not).
Constructors
| IServ (MVar IServState) |
data IServInstance Source #
External interpreter instance
Constructors
| IServInstance | |
Fields
| |
data IServConfig Source #
Configuration needed to spawn an external interpreter
Constructors
| IServConfig | |
Fields
| |
data IServState Source #
State of an external interpreter
Constructors
| IServPending | Not spawned yet |
| IServRunning !IServInstance | Running |