[project @ 2000-11-17 16:53:27 by simonmar]
[ghc-hetmet.git] / ghc / compiler / main / Interpreter.hs
1 -----------------------------------------------------------------------------
2 -- $Id: Interpreter.hs,v 1.5 2000/11/17 16:53:27 simonmar 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,
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 UnlinkedIBind = UnlinkedIExpr
54
55 instance Outputable UnlinkedIBind where
56   ppr x = text "Can't output UnlinkedIBind"
57
58 linkIModules    = error "linkIModules"
59 stgToInterpSyn  = error "linkIModules"
60 loadObjs        = error "loadObjs"
61 resolveObjs     = error "loadObjs"
62 interactiveUI   = error "interactiveUI"
63 #endif