ghc 6.2 gets confused about Main.hi reuse

Claus Reinke claus.reinke at talk21.com
Tue Mar 9 07:49:48 EST 2004


>We've found the reason that 6.2 was failing in this way and fixed it in
>6.2.1.  It was indeed a bug.

Thanks.

>*However*, this doesn't change the fact that swapping in a new Main
>module is a dangerous thing to do: the recompilation system relies on
>the date of the source file to determine whether compilation is
>required, so if you use a new Main module without touching it first, the
>compiler might not recompile as it should.  

Funny, ever since I started to use Haskell, I've tended to work with several
smaller Main modules in one directory, usually for testing, debugging,
demoing, etc., rather than the need to produce several interfaces to the
same code base, as in this case - this must have been the first time that 
led to problems.

We'll keep removing the Main.hi between compilations, then, to avoid
"same timestamp" problems with touching the source.

>There are ways we might try to get around this problem.  Putting an md5
>signature of the source file in the .hi file is one way.  Using
>different .hi files for different source files is another, but we
>couldn't see a good way to do this when using the -hidir flag as in your
>example.

Different .hi for different .hs would be my preference, but if that is a
problem, one could simply put the source file name in the Main.hi file,
to keep the two connected?

Cheers,
Claus




More information about the Glasgow-haskell-bugs mailing list