[project @ 2001-03-01 15:36:20 by simonmar]
[ghc-hetmet.git] / ghc / tests / ghci / prog003 / prog003.stdout
1    ___         ___ _
2   / _ \ /\  /\/ __(_)
3  / /_\// /_/ / /  | |      GHC Interactive, version 4.11, For Haskell 98.
4 / /_\\/ __  / /___| |      http://www.haskell.org/ghc/
5 \____/\/ /_/\____/|_|      Type :? for help.
6
7 Loading package std ... linking ... done.
8 Prelude> -- A small multi-module program, with 4 modules, Main, B, C, D.  B & C
9 Prelude> -- depend on D, and A depends on B & C.
10 Prelude> -- 
11 Prelude> -- This test will try various combinations of compiled and interpreted
12 Prelude> -- versions of each module, and make sure each combination behaves
13 Prelude> -- sensibly.
14 Prelude> 
15 Prelude> -- clean up
16 Prelude> :! rm *.o *.hi
17 Prelude> :unset +s
18 Prelude> :! cp D1.hs D.hs
19 Prelude> 
20 Prelude> :load A
21 Ok, modules loaded: Main, B, C, D.
22 Main> :type a
23 Int -> Int
24 Main> a 42
25 168
26 Main> 
27 Main> -- sigh; sleep 1, because the comp manager only stores times in seconds
28 Main> :! sleep 1; cp D2.hs D.hs
29 Main> :reload
30 Ok, modules loaded: Main, B, C, D.
31 Main> :type (Main.a,B.b,C.c,D.d)
32 (Float -> Float, Float -> Float, Float -> Float, Float -> Float)
33 Main> a 42
34 28.0
35 Main> 
36 Main> -- compile D, check that :reload doesn't pick it up
37 Main> :! $HC $HC_OPTS -c D.hs
38 Main> :reload
39 Ok, modules loaded: Main, B, C, D.
40 Main> :type (Main.a,B.b,C.c,D.d)
41 (Float -> Float, Float -> Float, Float -> Float, Float -> Float)
42 Main> a 42
43 28.0
44 Main> 
45 Main> -- pick up the compiled D now, with :load
46 Main> :load A
47 Ok, modules loaded: Main, B, C, D.
48 Main> :type (Main.a,B.b,C.c,D.d)
49 (Float -> Float, Float -> Float, Float -> Float, Float -> Float)
50 Main> a 42
51 28.0
52 Main> 
53 Main> -- D,C compiled
54 Main> :! $HC $HC_OPTS -c C.hs
55 Main> :load A
56 Ok, modules loaded: Main, B, C, D.
57 Main> :type (Main.a,B.b,C.c,D.d)
58 (Float -> Float, Float -> Float, Float -> Float, Float -> Float)
59 Main> a 42
60 28.0
61 Main> 
62 Main> -- D,C,B compiled
63 Main> :! $HC $HC_OPTS -c B.hs
64 Main> :load A
65 Ok, modules loaded: Main, B, C, D.
66 Main> :type (Main.a,B.b,C.c,D.d)
67 (Float -> Float, Float -> Float, Float -> Float, Float -> Float)
68 Main> a 42
69 28.0
70 Main> 
71 Main> -- D,C,B,A compiled
72 Main> :! $HC $HC_OPTS -c A.hs
73 Main> :load A
74 Ok, modules loaded: Main, B, C, D.
75 Main> :type (Main.a,B.b,C.c,D.d)
76 (PrelFloat.Float -> PrelFloat.Float,
77  PrelFloat.Float -> PrelFloat.Float,
78  PrelFloat.Float -> PrelFloat.Float,
79  PrelFloat.Float -> PrelFloat.Float)
80 Main> a 42
81 28.0
82 Main> 
83 Main> -- D,C,A compiled  (better not use A.o)
84 Main> :load A
85 Ok, modules loaded: Main, B, C, D.
86 Main> :type (Main.a,B.b,C.c,D.d)
87 (PrelFloat.Float -> PrelFloat.Float,
88  PrelFloat.Float -> PrelFloat.Float,
89  PrelFloat.Float -> PrelFloat.Float,
90  PrelFloat.Float -> PrelFloat.Float)
91 Main> a 42
92 28.0
93 Main> 
94 Main> -- D,A compiled  (better not use A.o)
95 Main> :! rm C.o
96 Main> :load A
97 Ok, modules loaded: Main, B, C, D.
98 Main> :type (Main.a,B.b,C.c,D.d)
99 (Float -> Float, Float -> Float, Float -> Float, Float -> Float)
100 Main> a 42
101 28.0
102 Main> 
103 Main> -- A compiled  (better not use A.o)
104 Main> :! rm D.o
105 Main> :load A
106 Ok, modules loaded: Main, B, C, D.
107 Main> :type (Main.a,B.b,C.c,D.d)
108 (Float -> Float, Float -> Float, Float -> Float, Float -> Float)
109 Main> a 42
110 28.0
111 Main> 
112 Main> -- A,B,C compiled (better not use A.o, B.o, C.o)
113 Main> :! $HC $HC_OPTS --make A
114 Main> :! rm D.o
115 Main> :type (Main.a,B.b,C.c,D.d)
116 (Float -> Float, Float -> Float, Float -> Float, Float -> Float)
117 Main> a 42
118 28.0
119 Main> Leaving GHCi.