[project @ 2000-11-20 16:28:29 by simonmar]
[ghc-hetmet.git] / ghc / compiler / main / Interpreter.hs
index 9a5c242..2945115 100644 (file)
@@ -1,5 +1,5 @@
 -----------------------------------------------------------------------------
--- $Id: Interpreter.hs,v 1.2 2000/11/08 13:51:58 simonmar Exp $
+-- $Id: Interpreter.hs,v 1.8 2000/11/20 16:28:29 simonmar Exp $
 --
 -- Interpreter subsystem wrapper
 --
@@ -13,26 +13,52 @@ module Interpreter (
        module InterpSyn,
        module Linker
 #else
-    ClosureEnv, ItblEnv,
+    ClosureEnv, emptyClosureEnv, 
+    ItblEnv, emptyItblEnv,
     linkIModules,
-    stgToInterpSyn,
+    stgExprToInterpSyn, stgBindsToInterpSyn,
     HValue,
-    UnlinkedIBind,
+    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 UnlinkedIBind = ()
-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