1 -- A small multi-module program, with 4 modules, Main, B, C, D. B & C
2 -- depend on D, and A depends on B & C.
4 -- This test will try various combinations of compiled and interpreted
5 -- versions of each module, and make sure each combination behaves
17 -- sigh; sleep 1, because the comp manager only stores times in seconds
18 :! sleep 1; cp D2.hs D.hs
20 :type (Main.a,B.b,C.c,D.d)
23 -- compile D, check that :reload doesn't pick it up
24 :! $HC $HC_OPTS -c D.hs
26 :type (Main.a,B.b,C.c,D.d)
29 -- pick up the compiled D now, with :load
31 :type (Main.a,B.b,C.c,D.d)
35 :! $HC $HC_OPTS -c C.hs
37 :type (Main.a,B.b,C.c,D.d)
41 :! $HC $HC_OPTS -c B.hs
43 :type (Main.a,B.b,C.c,D.d)
47 :! $HC $HC_OPTS -c A.hs
49 :type (Main.a,B.b,C.c,D.d)
52 -- D,C,A compiled (better not use A.o)
54 :type (Main.a,B.b,C.c,D.d)
57 -- D,A compiled (better not use A.o)
60 :type (Main.a,B.b,C.c,D.d)
63 -- A compiled (better not use A.o)
66 :type (Main.a,B.b,C.c,D.d)
69 -- A,B,C compiled (better not use A.o, B.o, C.o)
70 :! $HC $HC_OPTS --make A
72 :type (Main.a,B.b,C.c,D.d)