-----------------------------------------------------------------------------
--- $Id: Interpreter.hs,v 1.1 2000/11/07 16:03:38 simonmar Exp $
+-- $Id: Interpreter.hs,v 1.8 2000/11/20 16:28:29 simonmar Exp $
--
-- Interpreter subsystem wrapper
--
module InterpSyn,
module Linker
#else
- ClosureEnv, ItblEnv,
+ ClosureEnv, emptyClosureEnv,
+ ItblEnv, emptyItblEnv,
linkIModules,
- stgToInterpSyn,
+ stgExprToInterpSyn, stgBindsToInterpSyn,
HValue,
- UnlinkedIBinds,
+ UnlinkedIBind, UnlinkedIExpr,
loadObjs, resolveObjs,
#endif
) where
#ifdef GHCI
+
+---------------------------------------------
+-- YES! We have an interpreter
+---------------------------------------------
+
import StgInterp
import InterpSyn
import Linker
+
#else
+
+import Outputable
+
+---------------------------------------------
+-- NO! No interpreter; generate stubs for all the bits
+
+---------------------------------------------
+
type ClosureEnv = ()
+emptyClosureEnv = ()
+
type ItblEnv = ()
-linkIModules = error "linkIModules"
-stgToInterpSyn = error "linkIModules"
-type HValue = ()
-type UnlinkedIBinds = ()
-loadObjs = error "loadObjs"
-resolveObjs = error "loadObjs"
+emptyItblEnv = ()
+
+type HValue = ()
+data UnlinkedIBind = UnlinkedIBind
+data UnlinkedIExpr = UnlinkedIExpr
+
+instance Outputable UnlinkedIBind where
+ ppr x = text "Can't output UnlinkedIBind"
+
+linkIModules = error "linkIModules"
+stgExprToInterpSyn = error "stgToInterpSyn"
+stgBindsToInterpSyn = error "stgBindsToInterpSyn"
+loadObjs = error "loadObjs"
+resolveObjs = error "loadObjs"
+interactiveUI = error "interactiveUI"
#endif