logo       

smart recompilation checker fails when only TH functions is imported: msg#00023

lang.haskell.glasgow.bugs

Subject: smart recompilation checker fails when only TH functions is imported

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@xxxxxxxxxx


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise