superfluous ghc --make log?

This is a very minor "issue", but I've been wondering if there's a rationale behind ghc --make pretty much printing the same thing thrice. Say you're building Cabal, you'll see (line wrapped for email): [ 1 of 75] Compiling Distribution.Compat.CreatePipe ( Distribution/Compat/CreatePipe.hs, Distribution/Compat/CreatePipe.o ) So, why not print [ 1 of 75] Compiling Distribution.Compat.CreatePipe instead? I'm assuming there's a good reason for the current behavior, but if there's none, are there any objections to changing what's printed? Of course, the old behavior could be re-enabled via -v.

On 2014-11-27 at 18:32:47 +0100, Tuncer Ayaz wrote:
This is a very minor "issue", but I've been wondering if there's a rationale behind ghc --make pretty much printing the same thing thrice.
IMO it isn't the "same" thing that's printed thrice. If you e.g. compile `transformers`, you'd get the following output: Preprocessing library transformers-0.4.2.0... [ 1 of 28] Compiling Data.Functor.Identity ( oldsrc/Data/Functor/Identity.hs, dist/build/Data/Functor/Identity.o ) [ 2 of 28] Compiling Control.Monad.Trans.Class ( Control/Monad/Trans/Class.hs, dist/build/Control/Monad/Trans/Class.o ) [ 3 of 28] Compiling Control.Monad.Signatures ( Control/Monad/Signatures.hs, dist/build/Control/Monad/Signatures.o ) ... there you'd see the two pathnames are not necessarily directly derivable from the module name, but depend on additional flags given to `ghc`... So it does indeed provide additional information about what GHC is doing. Btw, this also tells you whether a .hs file or a .lhs file was picked up. As to whether it's too noisy for the default verbosity level, I have no opinion (yet)... Cheers, hvr
participants (2)
-
Herbert Valerio Riedel
-
Tuncer Ayaz