logo       

Re: ghc 6.2 gets confused about Main.hi reuse: msg#00012

lang.haskell.glasgow.bugs

Subject: Re: ghc 6.2 gets confused about Main.hi reuse

>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


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

News | FAQ | advertise