[GHC] #11418: Suggest correct spelling when module is not found because of typo
GHC
ghc-devs at haskell.org
Tue Feb 16 22:53:34 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:
Type of failure: Incorrect | Unknown/Multiple
warning at compile-time | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by simonpj):
From Sven Panne: Just a few quick remarks:
* Whatever you do, never walk the file system tree up or down in an
uncontrolled way, this will kill basically all benefits and is a show-
stopper. File systems like NFS, NTFS, stuff on USB sticks etc. are so
**horribly** slow when used that way that the walks will probably dominate
your compilation time. And even under Linux it's not uncommon to have a
few dozen directory levels and hundreds of thousands of files below our
cwd: Just check out a few repositories, have some leftovers from
compilations, tons of documentations in small HTML files etc., and this
sums up quickly. Git walks up the tree, but only looking for a specific
directory and will e.g. not cross mount points under normal circumstances.
This is probably the limit of what you can do.
* Caching between runs will be tricky: How will you invalidate the cache?
People can (and will :-) do all kinds of evil things between runs, so how
can you (in-)validate the cache quicker than re-scanning the file system
again?
* As a general rule to keep in mind during the design: Successful compiler
runs should not pay a price. It's OK if things are a little bit slower
when an error occurs, but the main use case is successful compilation.
This is a bit like exceptions in most programming language
implementations: They are more or less for free when you don't use them
(yes, they have a cost even then because they complicate/invalidate some
compiler optimizations, but let's forget that for now), and are often
costly when you actually raise them.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11418#comment:27>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list