<div dir="ltr"><div>Nice repro Dan! I hope you don't mind, I took your repro and opened a GHC Trac ticket about this:</div><div><br></div><div><a href="https://ghc.haskell.org/trac/ghc/ticket/14717#ticket">https://ghc.haskell.org/trac/ghc/ticket/14717#ticket</a><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 25, 2018 at 9:29 AM, Dan Burton <span dir="ltr"><<a href="mailto:danburton.email@gmail.com" target="_blank">danburton.email@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hm, you're right. Seems like a GHC thing. I've tested a simple file with "import Data.Map" on both a stack project and a cabal project -- with containers installed in ghc's main package-db, as verified via stack/cabal exec ghc-pkg list containers -- and it doesn't give the hint in either case.<br><br>Taking it a step further and removing cabal/stack out of the equation...<br><br><div><font face="monospace, monospace">$ cat Main.hs</font></div><div><font face="monospace, monospace">module Main where</font></div><div><font face="monospace, monospace">import Data.Map</font></div><div><font face="monospace, monospace">main = putStrLn "It compiles"</font></div><div><font face="monospace, monospace"><br></font><div><font face="monospace, monospace">$ ghc-pkg list containers</font></div><div><font face="monospace, monospace">/usr/local/Cellar/ghc/8.2.2/<wbr>lib/ghc-8.2.2/package.conf.d</font></div><div><font face="monospace, monospace">    containers-0.5.10.2<br></font><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">$ ghc --make -hide-all-packages -package base Main.hs</font></div><div><font face="monospace, monospace">[1 of 1] Compiling Main             ( Main.hs, Main.o )</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Main.hs:2:1: error:</font></div><div><font face="monospace, monospace">    Could not find module ‘Data.Map’</font></div><span class=""><div><font face="monospace, monospace">    Use -v to see a list of the files searched for.</font></div><div><font face="monospace, monospace">  |</font></div></span><div><font face="monospace, monospace">2 | import Data.Map</font></div><div><font face="monospace, monospace">  | ^^^^^^^^^^^^^^^<br><br><div>$ ghc --make -hide-all-packages -package base -package containers Main.hs</div><div>[1 of 1] Compiling Main             ( Main.hs, Main.o )</div><div>Linking Main ...</div></font></div></div></div><span class="HOEnZb"><font color="#888888"><input name="virtru-metadata" value="{"email-policy":{"state":"closed","expirationUnit":"days","disableCopyPaste":false,"disablePrint":false,"disableForwarding":false,"expires":false,"isManaged":false},"attachments":{},"compose-window":{"secure":false}}" type="hidden"></font></span><div class="gmail_extra" style="display:block"><span class="HOEnZb"><font color="#888888"><br clear="all"><div><div class="m_-3140301343580212786gmail_signature" data-smartmail="gmail_signature">-- Dan Burton</div></div></font></span><div><div class="h5">
<br><div class="gmail_quote">On Wed, Jan 24, 2018 at 8:38 PM, Michael Snoyman <span dir="ltr"><<a href="mailto:michael@snoyman.com" target="_blank">michael@snoyman.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">FWIW, I've also noticed that with LTS 10/GHC 8.2.2 I no longer get the package name suggestions, even when I know I have the package installed. I don't know if it's an issue with Stack or GHC, I haven't investigated. But I can't think of something on the Stack side which would make the behavior different between GHC 8.0.2 and GHC 8.2.2.<br></div><div class="m_-3140301343580212786HOEnZb"><div class="m_-3140301343580212786h5"><div class="gmail_extra" style="display:block"><br><div class="gmail_quote">On Thu, Jan 25, 2018 at 4:02 AM, Dan Burton <span dir="ltr"><<a href="mailto:danburton.email@gmail.com" target="_blank">danburton.email@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I believe the particular feature you are talking about is a feature of GHC. Whether a suggestion is show or not merely depends on whether GHC sees the package in question in its package database(s).<br><br>If you are using stack, then you can look at one of your LTS 9 projects, and run<br><br><font face="monospace, monospace">stack exec -- ghc-pkg list</font><br><br>In order to see the list of installed packages. (I think something like `cabal exec ghc-pkg list` should do the same for a cabal project.)<br><br>Identify the packages you tend to use, go into one of your LTS 10 projects, and `stack install pkg1 pkg2 ...`<br><br>Note that with stack, each minor version of LTS has its own package database, so packages locally installed into lts-10.1 will not necessarily be available in your local instance of lts-10.2. Repeat stack install to taste.<input name="virtru-metadata" value="{"email-policy":{"state":"closed","expirationUnit":"days","disableCopyPaste":false,"disablePrint":false,"disableForwarding":false,"expires":false,"isManaged":false},"attachments":{},"compose-window":{"secure":false}}" type="hidden"><div><br></div><div>tl;dr the trick is to set up your package database so that GHC knows what to suggest for you</div><div class="gmail_extra" style="display:block"><br clear="all"><div><div class="m_-3140301343580212786m_5436423769769445259m_-6725386051853741467gmail_signature" data-smartmail="gmail_signature">-- Dan Burton</div></div>
<br><div class="gmail_quote"><div><div class="m_-3140301343580212786m_5436423769769445259h5">On Wed, Jan 24, 2018 at 5:12 PM, Rick Owens <span dir="ltr"><<a href="mailto:rick@owensmurray.com" target="_blank">rick@owensmurray.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="m_-3140301343580212786m_5436423769769445259h5"><div dir="ltr"><div><div><div>Dear Haskell Café,</div><div><br></div><div>I am a long-time Haskell developer with a proliferation of private projects. I typically make very heavy use of stack and LTS. Today, I tried to bootstrap my first project using LTS-10.* (with GHC-8.2.2) and I ran into an interesting problem (for me).</div><div><br></div><div>In the past, with lts-9.* and below, when I started cranking on some code and writing a bunch of imports:</div><div><br></div><div>> import Control.Monad.Trans.Class (MonadTrans)</div><div>> import Data.Map (Map)</div><div><br></div><div>I would try to build first without updating the cabal file build-depends, and I would get something like the following error messages:</div><div><br></div><div>>   /path/to/Module.hs:48:1: error:</div><div>>       Failed to load interface for ‘Data.Map’</div><div>>       It is a member of the hidden package ‘containers-0.5.7.1’.</div><div>>       Perhaps you need to add ‘containers’ to the build-depends in your .cabal file.</div><div>>       Use -v to see a list of the files searched for.</div><div>></div><div>>   /path/to/Module.hs:21:1: error:</div><div>>       Failed to load interface for ‘Control.Monad.Trans.Class’</div><div>>       It is a member of the hidden package ‘transformers-0.5.2.0’.</div><div>>       Perhaps you need to add ‘transformers’ to the build-depends in your .cabal file.</div><div>>       Use -v to see a list of the files searched for.</div><div><br></div><div><br></div><div>This was good because the error contained a suggested solution which contained the missing package, and I could sort of lazily add the build-depends I needed without having to memorize a (Module -> Package) mapping. I even had developer tooling to do it automatically.</div><div><br></div><div>With lts-10.*, however, the analogous error message looks like this:</div><div><br></div><div>> /path/to/Module.hs:9:1: error:</div><div>>     Could not find module ‘Data.DoubleWord’</div><div>>     Use -v to see a list of the files searched for.</div><div>>   |</div><div>> 9 | import Data.DoubleWord (Word256(Word256), Word128(Word128))</div><div>>   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<wbr>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</div><div><br></div><div>I am wondering, is there a way to bring back the solution suggestion? Not having access to it has made me realize how heavily I was using that feature. What do others think about this missing bit of supplemental error information?</div><div><br></div><div>Thanks,</div><div><br></div><div>-Rick Owens</div><div><br></div><div><br></div></div></div><div><br></div></div>
<br></div></div>______________________________<wbr>_________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bi<wbr>n/mailman/listinfo/haskell-caf<wbr>e</a><br>
Only members subscribed via the mailman list are allowed to post.<br></blockquote></div><br></div></div>
<br>______________________________<wbr>_________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bi<wbr>n/mailman/listinfo/haskell-caf<wbr>e</a><br>
Only members subscribed via the mailman list are allowed to post.<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div></div></div></div>
</blockquote></div><br></div>