[project @ 2001-06-27 16:38:17 by simonmar]
[ghc-hetmet.git] / ghc / compiler / main / Interpreter.hs
1 -----------------------------------------------------------------------------
2 -- $Id: Interpreter.hs,v 1.11 2000/12/19 12:36:12 sewardj 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 ByteCodeGen,
13         module Linker
14 #else
15     ClosureEnv, emptyClosureEnv, 
16     ItblEnv, emptyItblEnv,
17     byteCodeGen,
18     HValue,
19     UnlinkedBCO, UnlinkedBCOExpr,
20     loadObjs, resolveObjs,
21 #endif
22   ) where
23
24 #ifdef GHCI
25
26 -- ------------------------------------------------------------
27 -- YES!  We have an interpreter
28 -- ------------------------------------------------------------
29
30 import ByteCodeGen
31 import Linker
32
33 #else
34
35 import Outputable
36
37 -- ------------------------------------------------------------
38 -- NO!  No interpreter; generate stubs for all the bits
39 -- ------------------------------------------------------------
40
41 type ClosureEnv = ()
42 emptyClosureEnv = ()
43
44 type ItblEnv = ()
45 emptyItblEnv = ()
46
47 type HValue          = ()
48 data UnlinkedBCO     = UnlinkedBCO
49 data UnlinkedBCOExpr = UnlinkedBCOExpr
50
51 instance Outputable UnlinkedBCO where
52   ppr x = text "Can't output UnlinkedBCO"
53
54 byteCodeGen    = error "byteCodeGen"
55 loadObjs       = error "loadObjs"
56 resolveObjs    = error "resolveObjs"
57 interactiveUI  = error "interactiveUI"
58 #endif