___ ___ _
/ _ \ /\ /\/ __(_)
- / /_\// /_/ / / | | GHC Interactive, version 4.11, For Haskell 98.
+ / /_\// /_/ / / | | GHC Interactive, version 5.01, for Haskell 98.
/ /_\\/ __ / /___| | http://www.haskell.org/ghc/
\____/\/ /_/\____/|_| Type :? for help.
Prelude> :! cp D1.hs D.hs
Prelude>
Prelude> :load A
-Ok, modules loaded: Main, C, B, D.
+Ok, modules loaded: Main, B, C, D.
Main> :type a
Int -> Int
Main> a 42
168
Main>
-Main> -- sigh; sleep 1, because the comp manager only stores times in seconds
+Main> -- sigh; sleep 1, because the filesystem only stores times in seconds
Main> :! sleep 1; cp D2.hs D.hs
Main> :reload
-Ok, modules loaded: Main, C, B, D.
+Ok, modules loaded: Main, B, C, D.
Main> :type (Main.a,B.b,C.c,D.d)
(Float -> Float, Float -> Float, Float -> Float, Float -> Float)
Main> a 42
Main> -- compile D, check that :reload doesn't pick it up
Main> :! $HC $HC_OPTS -c D.hs
Main> :reload
-Ok, modules loaded: Main, C, B, D.
+Ok, modules loaded: Main, B, C, D.
Main> :type (Main.a,B.b,C.c,D.d)
(Float -> Float, Float -> Float, Float -> Float, Float -> Float)
Main> a 42
Main>
Main> -- pick up the compiled D now, with :load
Main> :load A
-Ok, modules loaded: Main, C, B, D.
+Ok, modules loaded: Main, B, C, D.
Main> :type (Main.a,B.b,C.c,D.d)
(Float -> Float, Float -> Float, Float -> Float, Float -> Float)
Main> a 42
Main> -- D,C compiled
Main> :! $HC $HC_OPTS -c C.hs
Main> :load A
-Ok, modules loaded: Main, C, B, D.
+Ok, modules loaded: Main, B, C, D.
Main> :type (Main.a,B.b,C.c,D.d)
(Float -> Float, Float -> Float, Float -> Float, Float -> Float)
Main> a 42
Main> -- D,C,B compiled
Main> :! $HC $HC_OPTS -c B.hs
Main> :load A
-Ok, modules loaded: Main, C, B, D.
+Ok, modules loaded: Main, B, C, D.
Main> :type (Main.a,B.b,C.c,D.d)
(Float -> Float, Float -> Float, Float -> Float, Float -> Float)
Main> a 42
Main> -- D,C,B,A compiled
Main> :! $HC $HC_OPTS -c A.hs
Main> :load A
-Ok, modules loaded: Main, C, B, D.
+Ok, modules loaded: Main, B, C, D.
Main> :type (Main.a,B.b,C.c,D.d)
(PrelFloat.Float -> PrelFloat.Float,
PrelFloat.Float -> PrelFloat.Float,
Main> -- D,C,A compiled (better not use A.o)
Main> :! rm B.o
Main> :load A
-Ok, modules loaded: Main, C, B, D.
+Ok, modules loaded: Main, B, C, D.
Main> :type (Main.a,B.b,C.c,D.d)
(Float -> Float, Float -> Float, Float -> Float, Float -> Float)
Main> a 42
Main> -- D,A compiled (better not use A.o)
Main> :! rm C.o
Main> :load A
-Ok, modules loaded: Main, C, B, D.
+Ok, modules loaded: Main, B, C, D.
Main> :type (Main.a,B.b,C.c,D.d)
(Float -> Float, Float -> Float, Float -> Float, Float -> Float)
Main> a 42
Main> -- A compiled (better not use A.o)
Main> :! rm D.o
Main> :load A
-Ok, modules loaded: Main, C, B, D.
+Ok, modules loaded: Main, B, C, D.
Main> :type (Main.a,B.b,C.c,D.d)
(Float -> Float, Float -> Float, Float -> Float, Float -> Float)
Main> a 42
Main> :! $HC $HC_OPTS --make A
Main> :! rm D.o
Main> :load A
-Ok, modules loaded: Main, C, B, D.
+Ok, modules loaded: Main, B, C, D.
Main> :type (Main.a,B.b,C.c,D.d)
(Float -> Float, Float -> Float, Float -> Float, Float -> Float)
Main> a 42