[project @ 2000-11-08 14:52:06 by simonpj]
[ghc-hetmet.git] / ghc / compiler / main / Interpreter.hs
1 -----------------------------------------------------------------------------
2 -- $Id: Interpreter.hs,v 1.3 2000/11/08 14:52:06 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,
20     HValue,
21     UnlinkedIBind,
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 type ClosureEnv = ()
45 emptyClosureEnv = ()
46
47 type ItblEnv = ()
48 emptyItblEnv = ()
49
50 type HValue        = ()
51 data UnlinkedIBind = UnlinkedIBind
52
53 instance Outputable UnlinkedIBind where
54   ppr x = text "Can't output UnlinkedIBind"
55
56 linkIModules    = error "linkIModules"
57 stgToInterpSyn  = error "linkIModules"
58 loadObjs        = error "loadObjs"
59 resolveObjs     = error "loadObjs"
60 #endif