3 / /_\// /_/ / / | | GHC Interactive, version 4.11, For Haskell 98.
4 / /_\\/ __ / /___| | http://www.haskell.org/ghc/
5 \____/\/ /_/\____/|_| Type :? for help.
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.
11 Prelude> -- This test will try various combinations of compiled and interpreted
12 Prelude> -- versions of each module, and make sure each combination behaves
16 Prelude> :! rm *.o *.hi
18 Prelude> :! cp D1.hs D.hs
21 Ok, modules loaded: Main, B, C, D.
27 Main> -- sigh; sleep 1, because the comp manager only stores times in seconds
28 Main> :! sleep 1; cp D2.hs D.hs
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)
36 Main> -- compile D, check that :reload doesn't pick it up
37 Main> :! $HC $HC_OPTS -c D.hs
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)
45 Main> -- pick up the compiled D now, with :load
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)
54 Main> :! $HC $HC_OPTS -c C.hs
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)
62 Main> -- D,C,B compiled
63 Main> :! $HC $HC_OPTS -c B.hs
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)
71 Main> -- D,C,B,A compiled
72 Main> :! $HC $HC_OPTS -c A.hs
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)
83 Main> -- D,C,A compiled (better not use A.o)
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)
94 Main> -- D,A compiled (better not use A.o)
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)
103 Main> -- A compiled (better not use A.o)
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)
112 Main> -- A,B,C compiled (better not use A.o, B.o, C.o)
113 Main> :! $HC $HC_OPTS --make A
115 Main> :type (Main.a,B.b,C.c,D.d)
116 (Float -> Float, Float -> Float, Float -> Float, Float -> Float)