[GHC] #12807: GHC is too verbose by default (source/object paths)
GHC
ghc-devs at haskell.org
Fri Nov 4 21:30:54 UTC 2016
#12807: GHC is too verbose by default (source/object paths)
-------------------------------------+-------------------------------------
Reporter: hsyl20 | Owner: hsyl20
Type: feature | Status: new
request |
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.1
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Other
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
With the default verbosity, GHC shows the path of the source file and the
path of the object file (or "interpreted" in GHCi) making the lines very
long as in the following example:
{{{
[133 of 159] Compiling ViperVM.Arch.Linux.Internals.Input (
src/lib/ViperVM/Arch/Linux/Internals/Input.hs, .stack-
work/dist/x86_64-linux/Cabal-1.24.0.0/build/ViperVM/Arch/Linux/Internals/Input.o
)
[134 of 159] Compiling ViperVM.Arch.Linux.Input (
src/lib/ViperVM/Arch/Linux/Input.hs, .stack-
work/dist/x86_64-linux/Cabal-1.24.0.0/build/ViperVM/Arch/Linux/Input.o )
[135 of 159] Compiling ViperVM.System.Input (
src/lib/ViperVM/System/Input.hs, .stack-
work/dist/x86_64-linux/Cabal-1.24.0.0/build/ViperVM/System/Input.o )
[136 of 159] Compiling ViperVM.Arch.Linux.Internals.Sound (
src/lib/ViperVM/Arch/Linux/Internals/Sound.hs, .stack-
work/dist/x86_64-linux/Cabal-1.24.0.0/build/ViperVM/Arch/Linux/Internals/Sound.o
)
[137 of 159] Compiling ViperVM.Arch.Linux.Internals.Graphics (
src/lib/ViperVM/Arch/Linux/Internals/Graphics.hs, .stack-
work/dist/x86_64-linux/Cabal-1.24.0.0/build/ViperVM/Arch/Linux/Internals/Graphics.o
)
}}}
In most cases, I think we don't need these paths. I propose that we keep
this output for the verbose mode and that we change the default behaviour
to something like:
{{{
[135 of 159] Compiling ViperVM.System.Input (.hs -> .o)
[136 of 159] Compiling ViperVM.Arch.Linux.Internals.Sound (.hs -> .o)
-- GHCi
[137 of 159] Compiling ViperVM.Arch.Linux.Internals.Graphics (.hs ->
interpreted)
}}}
It is also particularily nice with BackPack that uses hashes in output
paths: we may not want to expose them to users by default. Example:
{{{#!patch
[1 of 1] Including p[A=r:A]
Instantiating p[A=r:A]
- [1 of 2] Compiling A[sig] ( p/A.hsig,
bkp26.out/p/p-8YQRY0unRYZCev5HBjXieS/A.o )
- [2 of 2] Compiling P ( p/P.hs,
bkp26.out/p/p-8YQRY0unRYZCev5HBjXieS/P.o )
- [1 of 1] Compiling M ( q/M.hs, bkp26.out/q/M.o )
+ [1 of 2] Compiling A[sig] (.hsig -> .o)
+ [2 of 2] Compiling P (.hs -> .o)
+ [1 of 1] Compiling M (.hs -> .o)
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12807>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list