[GHC] #10337: One-shot module loops have hard to understand messages

GHC ghc-devs at haskell.org
Tue Apr 21 13:16:31 UTC 2015


#10337: One-shot module loops have hard to understand messages
-------------------------------------+-------------------------------------
              Reporter:  ezyang      |             Owner:
                  Type:  bug         |            Status:  new
              Priority:  normal      |         Milestone:
             Component:  Compiler    |           Version:  7.11
  (Type checker)                     |  Operating System:  Unknown/Multiple
              Keywords:              |   Type of failure:  None/Unknown
          Architecture:              |        Blocked By:
  Unknown/Multiple                   |   Related Tickets:
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------
 Consider these two modules:

 {{{
 -- A.hs
 module A where

 -- B.hs
 module B where
 import A
 }}}

 `ghc --make B.hs` will compile this fine.  Now edit `A.hs` to be circular:

 {{{
 -- A.hs
 module A where
 import B
 }}}

 and attempt to one-shot compile it with `ghc -c A.hs`. You will now get an
 uninformative error message:

 {{{
 A.hs:1:1: Circular imports: module `A' depends on itself
 }}}

 You can get a more informative message with `--make`:

 {{{
 Module imports form a cycle:
          module `A' (A.hs)
         imports `B' (./B.hs)
   which imports `A' (A.hs)
 }}}

 We should either suggest users try again with `--make`, or try harder to
 give a useful message in one-shot mode.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10337>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list