smart recompilation checker fails when only TH functions is imported
Bulat Ziganshin
bulatz at HotPOP.com
Wed Nov 16 12:19:38 EST 2005
Hello glasgow-haskell-bugs,
the following scenario reproduces this error:
1) create Main.hs containing code
module Main where
import Sub
main = print $x
and Sub.hs containing code
module Sub where
x = [| 1 |]
2) compile them with --make:
C:\!\Haskell\!>ghc --make -fth Main.hs
Chasing modules from: Main.hs
Compiling Sub ( ./Sub.hs, ./Sub.o )
Compiling Main ( Main.hs, Main.o )
Loading package base-1.0 ... linking ... done.
Loading package haskell98-1.0 ... linking ... done.
Loading package template-haskell-1.0 ... linking ... done.
Linking ...
C:\!\Haskell\!>main.exe
1
3) now change Sub.hs to the following code:
module Sub where
x = [| 2 |]
4) and recompile program:
C:\!\Haskell\!>ghc --make -fth Main.hs
Chasing modules from: Main.hs
Compiling Sub ( ./Sub.hs, ./Sub.o )
Skipping Main ( Main.hs, Main.o )
Linking ...
C:\!\Haskell\!>main.exe
1
As you see, Main.hs is not recompiled despite the fact that definition
of x is changed and now program must print "2"
--
Best regards,
Bulat mailto:bulatz at HotPOP.com
More information about the Glasgow-haskell-bugs
mailing list