af1d952c33d54b3f75e767b779bcd398a7c81b22
[ghc-hetmet.git] / ghc / compiler / main / Interpreter.hs
1 -----------------------------------------------------------------------------
2 -- $Id: Interpreter.hs,v 1.7 2000/11/20 14:48:54 simonpj Exp $
3 --
4 -- Interpreter subsystem wrapper
5 --
6 -- (c) The University of Glasgow 2000
7 --
8 -----------------------------------------------------------------------------
9
10 module Interpreter (
11 #ifdef GHCI
12         module StgInterp,
13         module InterpSyn,
14         module Linker
15 #else
16     ClosureEnv, emptyClosureEnv, 
17     ItblEnv, emptyItblEnv,
18     linkIModules,
19     stgToInterpSyn, stgBindsToInterpSyn,
20     HValue,
21     UnlinkedIBind, UnlinkedIExpr,
22     loadObjs, resolveObjs,
23 #endif
24   ) where
25
26 #ifdef GHCI
27
28 ---------------------------------------------
29 --      YES!  We have an interpreter
30 ---------------------------------------------
31
32 import StgInterp
33 import InterpSyn
34 import Linker
35
36 #else
37
38 import Outputable
39
40 ---------------------------------------------
41 --      NO!  No interpreter; generate stubs for all the bits
42
43 ---------------------------------------------
44
45 type ClosureEnv = ()
46 emptyClosureEnv = ()
47
48 type ItblEnv = ()
49 emptyItblEnv = ()
50
51 type HValue        = ()
52 data UnlinkedIBind = UnlinkedIBind
53 data UnlinkedIExpr = UnlinkedIExpr
54
55 instance Outputable UnlinkedIBind where
56   ppr x = text "Can't output UnlinkedIBind"
57
58 linkIModules        = error "linkIModules"
59 stgToInterpSyn      = error "stgToInterpSyn"
60 stgBindsToInterpSyn = error "stgBindsToInterpSyn"
61 loadObjs            = error "loadObjs"
62 resolveObjs         = error "loadObjs"
63 interactiveUI       = error "interactiveUI"
64 #endif