[GHC] #11418: Suggest correct spelling when module is not found because of typo

GHC ghc-devs at haskell.org
Mon Jan 18 16:37:09 UTC 2016


#11418: Suggest correct spelling when module is not found because of typo
-------------------------------------+-------------------------------------
        Reporter:  syd               |                Owner:
            Type:  feature request   |               Status:  new
        Priority:  lowest            |            Milestone:
       Component:  Compiler          |              Version:
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by syd):

 Replying to [comment:18 thomie]:
 > This feature could be called `-fhelpful-import-errors`. Do you think it
 should be enabled by default?
 That depends. See below.
 > We would have to ask others as well.
 >
 > Not only does scanning a directory take time, there is also a memory
 cost. A pretty bad scenario would be running ghc in $HOME.
 >
 > On my system:
 > {{{
 > $ find ~ > all-files-in-home
 > $ wc -l all-files-in-home
 > 168014 all-files-in-home
 > $ du -h all-files-in-home
 > 14M   all-files-in-home
 > }}}

 Yes. If we take this approach, the flag should definitely not be enabled
 by default.

 > Or stop scanning after the first N=1000 or so files (do some
 measurements to see what's reasonable).
 That is not feasable. We could miss out on modules we need.
 > How about this partial solution:
 > * A lot of people use Cabal for library development
 > * Cabal already asks you to specify all known modules in either
 `exposed-modules` or `other-modules` (I guess you could make typos here..)
 > * Cabal already passes this list of modules to GHC
 > * So GHC already knows the names of all modules that could possibly be
 imported (not quite, see
 https://github.com/haskell/cabal/issues/2982#issuecomment-169786310)
 > * Use that list of modules to make spelling suggestions on import errors

 If we take this approach, then I think the flag should be enabled by
 default.

 However: I, for example, use makefiles during development instead of cabal
 because it allows for a faster code/compile/fix type errors cycle. This
 solution would therefore not help me at all.

 I prefer the situation in which this is a non-default flag and cabal is
 not required for it to function.

 Feedback welcome.

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


More information about the ghc-tickets mailing list