[Haskell-cafe] LTS-10.* missing build-depends suggestion

Michael Snoyman michael at snoyman.com
Thu Jan 25 04:38:16 UTC 2018


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.

On Thu, Jan 25, 2018 at 4:02 AM, Dan Burton <danburton.email at gmail.com>
wrote:

> 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).
>
> If you are using stack, then you can look at one of your LTS 9 projects,
> and run
>
> stack exec -- ghc-pkg list
>
> 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.)
>
> Identify the packages you tend to use, go into one of your LTS 10
> projects, and `stack install pkg1 pkg2 ...`
>
> 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.
>
> tl;dr the trick is to set up your package database so that GHC knows what
> to suggest for you
>
> -- Dan Burton
>
> On Wed, Jan 24, 2018 at 5:12 PM, Rick Owens <rick at owensmurray.com> wrote:
>
>> Dear Haskell Café,
>>
>> 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).
>>
>> In the past, with lts-9.* and below, when I started cranking on some code
>> and writing a bunch of imports:
>>
>> > import Control.Monad.Trans.Class (MonadTrans)
>> > import Data.Map (Map)
>>
>> I would try to build first without updating the cabal file build-depends,
>> and I would get something like the following error messages:
>>
>> >   /path/to/Module.hs:48:1: error:
>> >       Failed to load interface for ‘Data.Map’
>> >       It is a member of the hidden package ‘containers-0.5.7.1’.
>> >       Perhaps you need to add ‘containers’ to the build-depends in your
>> .cabal file.
>> >       Use -v to see a list of the files searched for.
>> >
>> >   /path/to/Module.hs:21:1: error:
>> >       Failed to load interface for ‘Control.Monad.Trans.Class’
>> >       It is a member of the hidden package ‘transformers-0.5.2.0’.
>> >       Perhaps you need to add ‘transformers’ to the build-depends in
>> your .cabal file.
>> >       Use -v to see a list of the files searched for.
>>
>>
>> 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.
>>
>> With lts-10.*, however, the analogous error message looks like this:
>>
>> > /path/to/Module.hs:9:1: error:
>> >     Could not find module ‘Data.DoubleWord’
>> >     Use -v to see a list of the files searched for.
>> >   |
>> > 9 | import Data.DoubleWord (Word256(Word256), Word128(Word128))
>> >   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>
>> 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?
>>
>> Thanks,
>>
>> -Rick Owens
>>
>>
>>
>>
>> _______________________________________________
>> Haskell-Cafe mailing list
>> To (un)subscribe, modify options or view archives go to:
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>> Only members subscribed via the mailman list are allowed to post.
>>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20180125/86825941/attachment.html>


More information about the Haskell-Cafe mailing list