haskell / cabal

Official upstream development repository for Cabal and cabal-install
https://haskell.org/cabal
Other
1.6k stars 689 forks source link

Install test executables with cabal install when "--enable-tests" present #7693

Open mouse07410 opened 2 years ago

mouse07410 commented 2 years ago

Describe the bug Trying to manually (because included Makefile forces v1- commands) build Agda from source, I'm getting the following error:

$ cabal v2-install --enable-tests --disable-documentation --only-dependencies -fenable-cluster-counting
cabal: --enable-tests was specified, but tests can't be enabled in a remote
package

To Reproduce Steps to reproduce the behavior:

$ git clone https://github.com/agda/agda.git --recurse-submodules
$ cd agda
$ cabal v2-install --enable-tests --disable-documentation --only-dependencies -fenable-cluster-counting

Expected behavior Successful build. I am getting it when I omit --enable-tests, but in that case agda-tests executable is not built (so, I can't run tests to validate the created executables).

Note, that cabal v2-build --enable-tests seems to work fine (but it does not install the executables it builds).

System information

fgaz commented 2 years ago

This is intended:

https://github.com/haskell/cabal/blob/103adecc42436c9371f8791253ad5cf5ef26da0d/cabal-install/src/Distribution/Client/CmdInstall.hs#L408-L416

It was introduced in #4879 to fix #4855. Things might have changed since then though (eg. https://github.com/haskell/cabal/pull/4886#issuecomment-365019271), judging by eg. #5143

Mikolaj commented 2 years ago

To spell it out, you did --only-dependencies and cabal is confused (do you want to run tests for the dependencies?), though perhaps it shouldn't be, see the ticket @fgaz mentioned.

mouse07410 commented 2 years ago

To spell it out, you did --only-dependencies and cabal is confused (do you want to run tests for the dependencies?),

I want to build/install Agda, and run the tests. If I do build and run tests first, and then install - it will recompile everything again, which is a fairly lengthy process. Doing it in one swoop via install makes it to compile the whole thing only once. And that's how it works with v1-install. But since v1- has unpleasant effect on the global environment, I'd much rather get it working with v2-.

. . . though perhaps it shouldn't be, see the ticket @fgaz mentioned.

It would be great if this obstacle were taken care of.

fgaz commented 2 years ago

I just tried removing

https://github.com/haskell/cabal/blob/103adecc42436c9371f8791253ad5cf5ef26da0d/cabal-install/src/Distribution/Client/CmdInstall.hs#L408-L416

and there is no assertion failure, though tests aren't actually built. Maybe we just need the equivalent of #5143. I won't investigate this further right now though

Mikolaj commented 2 years ago

I want to build/install Agda

So why do you do --only-dependencies?

it will recompile everything again,

I hope that's not true (otherwise, please report). I you build and test and install with the same flags, it should not rebuild any Haskell files, though it will re-link.

fgaz commented 2 years ago

I hope that's not true (otherwise, please report). I you build and test and install with the same flags, it should not rebuild any Haskell files, though it will re-link.

unfortunately it's true for install: #6919

Mikolaj commented 2 years ago

I hope that's not true (otherwise, please report). I you build and test and install with the same flags, it should not rebuild any Haskell files, though it will re-link.

unfortunately it's true for install: #6919

The example from #6919 is very sad but, if you squint, it's excluded by the "with the same flags" proviso (targets being not exactly flags, but being at least commandline arguments). And I've heard that stuff gets rebuilt without a good reason in other cases, which is why I'm fishing for a reproducible example.

fgaz commented 2 years ago

It's still true even with the same flags: when installing, local packages are treated as remote and have to be rebuilt in the store

Mikolaj commented 2 years ago

It's still true even with the same flags: when installing, local packages are treated as remote and have to be rebuilt in the store

So the "I notice that, if I cabal build exe:propellor, the cabal install does not re-build" success is not caused by the agreement of flags, but by cabal buil treating local packages as remote in some cases?

mouse07410 commented 2 years ago

The example from #6919 is very sad but, if you squint, it's excluded by the "with the same flags" proviso (targets being not exactly flags, but being at least commandline arguments).

Strictly speaking, those are different flags, albeit slightly. As I understand (please correct me if I'm wrong), --enable-tests is not just about running the tests, it's about building in a different way that supports running the tests. Therefore, the resulting binaries for all the packages involved - the targets and their dependencies - will be different based on the presence or absence of --enable-tests flag.

That's not unique to Haskell/Cabal - in C people debug and test with -g -O0, but deploy to production with -O3 or better. Meaning that what was tested is not what actually runs in production. It is known to cause real problems in real life - for example: https://github.com/randombit/botan/issues/2802

. . . do you want to run tests for the dependencies?

To revisit this question - no, I don't really want to run tests on/for the dependencies - but these dependencies must be ready to support running tests on my project's target. I suspect, in the end there isn't much difference between whether I want to actually run tests for the dependencies, or merely build and install those dependencies in such a way that they can support their caller running tests.

Thus, I think that the correct behavior for Cabal in such a case should be - build the dependencies as if I were to run the tests for them, regardless of whether they are local or remote.

Comments, please?

gbaz commented 2 years ago

I don't even understand the --only-dependencies flag here. It doesn't make a lot of sense in this workflow given how v-2 works. I think the flags are asking for something a bit nonsensical and the current behavior looks fine.

I think it is correct that install does not allow tests, since it doesn't make much sense.

To get the workflow you desire, you can just build with tests, then manually copy or symlink the binary. A future feature request could be to add a copy/symlink binary flag to the build of an executable.

mouse07410 commented 2 years ago

I think it is correct that install does not allow tests, since it doesn't make much sense.

IMHO, on the contrary - it makes great sense to be able to run the test suite over the "production" (aka, installed) executable... At the very least, you'll know that the actual physical binary that passed or failed your tests is the same that is running your high-value tasks in deployment.

What am I missing?

Mikolaj commented 2 years ago

@mouse07410: I'm pretty sure --enable-tests does not affect how dependencies are built in any way other than adding testing framework dependencies to the mix and so possibly affecting versions of packges. Also, dependencies do not need to be prepared to make it possible for the main package to be tested. No preparation is needed [edit: again, except for adding the extra packages for test frameworks, etc.].

Regarding the ability to test exactly the thing you install, I think it makes sense, except that the installed executable would never be tested, because it's the libraries that are linked with the test component, executables are normally not used for tests. Generally, test component in cabal are rather unit tests for the code, while executables are tested using integration and similar tests running from the outside.

mouse07410 commented 2 years ago

--enable-tests does not affect how dependencies are built in any way other than adding testing framework dependencies to the mix and so possibly affecting versions of packges.

As I understand, both of the above mean - the binaries will be different. For an ideally simple code it may not matter - but I haven't seen such a code in real life.

Regarding the ability to test exactly the thing you install, I think it makes sense, except that the installed executable would never be tested, because it's the libraries that are linked with the test component, executables are normally not used for tests.

"Never say Never again!" ;-) This probably depends on what kind of tests you'd be running. They often - but not always - are unit tests.

Mikolaj commented 2 years ago

As I understand, both of the above mean - the binaries will be different.

OK, you are right, in practice the compiled dependencies will be different. Moreover, if I wanted to test them afterwards, less would need to be rebuilt. However, I'm clarifying all these things in order to understand why you put --only-dependencies in your commandline. Why is it?

"Never say Never again!" ;-) This probably depends on what kind of tests you'd be running. They often - but not always - are unit tests.

Haha, sure, but we need to focus on a particular use case. We don't have the resources to support everything. And we support only unit tests (more precisely, library tests) in cabal test components. Anybody using it to run integration tests (invoke an executable compiled in the same package) is on his own. Does it make sense?

jneira commented 2 years ago

We don't have the resources to support everything. And we support only unit tests (more precisely, library tests) in cabal test components. Anybody using it to run integration tests (invoke an executable compiled in the same package) is on his own. Does it make sense?

Hmm that sentence surprises me, f.e. in hls we have a few unit tests and lot, lot of integration tests in test stanzas which call the hls executable. We use cabal build with build-tool-depens and everything works fine.

EDIT: i guess the sentence would make sense in the context of cabal v2-install

Mikolaj commented 2 years ago

Hmm that sentence surprises me, f.e. in hls we have a few unit tests and lot, lot of integration tests in test stanzas which call the hls executable. We use cabal build with build-tool-depens and everything works fine.

I may be wrong. But if I'm not, that means you are on your own. E.g., ensuring that the hls exe is built before running the cabal test probably requires some hacks? How do you do that?

mouse07410 commented 2 years ago

I'm clarifying all these things in order to understand why you put --only-dependencies in your commandline. Why is it?

If I did that, I'd probably have a semi-reasonable explanation. Since it's a part of the installation setup of a large (too large for my comfort) Agda compiler that I'm only a user of (not a developer or a maintainer) - I've no clue why that argument is there. My layman's common sense suggests that it doesn't really belong, but...

I asked the question on the Agda repo (https://github.com/agda/agda/issues/4216#issuecomment-930443275), let's see what the answer is.

jneira commented 2 years ago

. E.g., ensuring that the hls exe is built before running the cabal test probably requires some hacks? How do you do that?

build-tool-depends: haskell-language-server do the trick (although it should be some other -tool-depends, as mentioned in the issues about)

to workaround the (again) recompilation with --test-options (recently fixed) we were using cabal run

gbaz commented 2 years ago

I looked at the agda ticket. They use --only-dependencies with the build command, not the install command. Asking to install with --enable-tests set doesn't seem important to the use case they have. Similarly, they use --enable-tests with the build command, not the install command. I think this ticket is just confusing, and confused. Its not addressing a real world case.

mouse07410 commented 2 years ago

I looked at the agda ticket. They use --only-dependencies with the build command, not the install command.

I don't think this is right, because with Cabal their build process does not use build command at all.

The ticket talks about various (failed) experiments.

Similarly, they use --enable-tests with the build command, not the install command.

I don't know what you're basing this conclusion on. I say they do use --enable-tests with the install command. One reason: their Makefile does not use build command with Cabal - only with Stack, but that's a different story.

Their installation from the source (that includes unit and integration tests) is designed to run from Makefile. Here's what the successful installation log shows (I'd be happy to post the entire log, if anybody needs it):

========================= Installing dependencies using Cabal ============
time cabal v1-install --disable-documentation --builddir=./dist-2.6.3-ghc-9.0.1 --enable-tests -foptimise-heavily --only-dependencies -fenable-cluster-counting --ghc-options="+RTS -M6G -RTS"
Resolving dependencies...
All the requested packages are already installed:
Use --reinstall if you want to reinstall anyway.

real    0m5.011s
user    0m1.467s
sys     0m1.002s
touch src/full/Agda/VersionCommit.hs
===================== Installing using Cabal with test suites ============
time cabal v1-install --disable-documentation --builddir=./dist-2.6.3-ghc-9.0.1 --enable-tests -foptimise-heavily -j1 --disable-library-profiling -fenable-cluster-counting --ghc-options="+RTS -M6G -RTS"  --program-suffix=-2.6.3
Resolving dependencies...
In order, the following will be installed:
Agda-2.6.3 *test (reinstall)(changes: QuickCheck-2.14.2 added,
filemanip-0.3.6.3 added, process-extras-0.7.4 added, tasty-1.4.1 added,
tasty-hunit-0.10.0.3 added, tasty-quickcheck-0.10.1.2 added,
tasty-silver-3.2.2 added, temporary-1.3 added, unix-compat-0.5.3 added)
Warning: Note that reinstalls are always dangerous. Continuing anyway...
[1 of 1] Compiling Main             ( dist-2.6.3-ghc-9.0.1/setup/setup.hs, dist-2.6.3-ghc-9.0.1/setup/Main.o )
Linking ././dist-2.6.3-ghc-9.0.1/setup/setup ...
Configuring Agda-2.6.3...
Preprocessing executable 'agda-mode' for Agda-2.6.3..
Building executable 'agda-mode' for Agda-2.6.3..
.  .  .  .  .
[402 of 403] Compiling Agda.Compiler.Builtin ( src/full/Agda/Compiler/Builtin.hs, dist-2.6.3-ghc-9.0.1/build/Agda/Compiler/Builtin.o, dist-2.6.3-ghc-9.0.1/build/Agda/Compiler/Builtin.dyn_o )
[403 of 403] Compiling Agda.Main        ( src/full/Agda/Main.hs, dist-2.6.3-ghc-9.0.1/build/Agda/Main.o, dist-2.6.3-ghc-9.0.1/build/Agda/Main.dyn_o )
ld: warning: directory not found for option '-L/usr/local/opt/icu4c/lib'
ld: warning: dylib (/opt/local/lib/libicuuc.dylib) was built for newer macOS version (11.2) than being linked (11.0)
ld: warning: dylib (/opt/local/lib/libicui18n.dylib) was built for newer macOS version (11.2) than being linked (11.0)
ld: warning: dylib (/opt/local/lib/libicudata.dylib) was built for newer macOS version (11.2) than being linked (11.0)
Preprocessing executable 'agda' for Agda-2.6.3..
Building executable 'agda' for Agda-2.6.3..
[1 of 1] Compiling Main             ( src/main/Main.hs, dist-2.6.3-ghc-9.0.1/build/agda/agda-tmp/Main.dyn_o )
Linking ./dist-2.6.3-ghc-9.0.1/build/agda/agda ...
.  .  .  .  .
Preprocessing test suite 'agda-tests' for Agda-2.6.3..
Building test suite 'agda-tests' for Agda-2.6.3..
[ 1 of 63] Compiling Internal.Helpers ( test/Internal/Helpers.hs, dist-2.6.3-ghc-9.0.1/build/agda-tests/agda-tests-tmp/Internal/Helpers.dyn_o )
.  .  .  .  .
[63 of 63] Compiling Main             ( test/Main.hs, dist-2.6.3-ghc-9.0.1/build/agda-tests/agda-tests-tmp/Main.dyn_o )
Linking ./dist-2.6.3-ghc-9.0.1/build/agda-tests/agda-tests ...
ld: warning: directory not found for option '-L/usr/local/opt/icu4c/lib'
ld: warning: dylib (/opt/local/lib/libicuuc.dylib) was built for newer macOS version (11.2) than being linked (11.0)
ld: warning: dylib (/opt/local/lib/libicui18n.dylib) was built for newer macOS version (11.2) than being linked (11.0)
ld: warning: dylib (/opt/local/lib/libicudata.dylib) was built for newer macOS version (11.2) than being linked (11.0)
Installing executable agda-mode in /Users/ur20980/.cabal/bin
Installing library in /Users/ur20980/.cabal/lib/x86_64-osx-ghc-9.0.1/Agda-2.6.3-Jmf8C4FL9f76mgnQviRUta
Installing executable agda in /Users/ur20980/.cabal/bin
Generating Agda library interface files...
... /Users/ur20980/src/agda/src/data/lib/prim/Agda/Builtin/Bool.agda
.  .  .  .  .
... /Users/ur20980/src/agda/src/data/lib/prim/Agda/Primitive/Cubical.agda
Installing executable agda-mode in /Users/ur20980/.cabal/bin
Installing library in /Users/ur20980/.cabal/lib/x86_64-osx-ghc-9.0.1/Agda-2.6.3-Jmf8C4FL9f76mgnQviRUta
Installing executable agda in /Users/ur20980/.cabal/bin
Completed    Agda-2.6.3

real    26m40.947s
user    23m38.891s
sys     0m39.214s

You can see two v1-install commands, one with --only-dependencies, the other one - without; but both include --enable-tests.

Again, here are just the "relevant" lines:

cabal v1-install --disable-documentation --builddir=./dist-2.6.3-ghc-9.0.1 --enable-tests -foptimise-heavily --only-dependencies -fenable-cluster-counting --ghc-options="+RTS -M6G -RTS"

cabal v1-install --disable-documentation --builddir=./dist-2.6.3-ghc-9.0.1 --enable-tests -foptimise-heavily -j1 --disable-library-profiling -fenable-cluster-counting --ghc-options="+RTS -M6G -RTS"  --program-suffix=-2.6.3

I think this ticket is just confusing, and confused. Its not addressing a real world case.

The Agda ticket in question is not crisp (to say the least), as it tackles (mixes) several issues. Some of them have been long addressed, like, using cabal-install 3.0.0.0+ - current build succeeds with cabal-3.6.0.0. But building from the source using v2- commands has not been resolved. Part of the problem seems to be the --enable-tests argument.

Mikolaj commented 2 years ago

@mouse07410, I haven't looked at the Agda issue, so I can't comment about that, but just a remark that v1-install corresponds to v2-build. And v2-install is a completely different beast and in flux.

Edit: and we asked why you use --only-dependencies with v2-install, while you asked (or the question was understood so) on the Agda issue why they use it with v1-install, which is akin to v2-build.

jneira commented 2 years ago

tbh I think the main culprit is v2-install recompile local packages after a v2-build, so fixing that adding a copy-bins to v2-build would make less desirable the original request @mouse07410 am I wrong about that?

mouse07410 commented 2 years ago

tbh I think the main culprit is v2-install recompile local packages after a v2-build, so fixing that adding a copy-bins to v2-build would make less desirable the original request @mouse07410 am I wrong about that?

Yes, but... In my case, all the builds are dynamic. It implies that copying just the executables won't be enough - all the created binaries (executables and libraries) have to be copied with copy-bins.

Along the same line, what would be the difference between v2-install and v2-build --copy-bins?

mouse07410 commented 2 years ago

just a remark that v1-install corresponds to v2-build. And v2-install is a completely different beast and in flux

Sorry, I do not understand. To me:

What am I missing?

Mikolaj commented 2 years ago
* `v?-build` is when you create the entire binary set (executable and the relevant libraries) somewhere locally, in _your_ working directory;

Incorrect. v1-build does not exist, v2-build installs executables locally, but makes libraries available globally in store/.

* `v?-install` is when all the binaries created above, are installed into a "global" (for this user) location, like `~/.cabal/bin` and `~/.cabal/store`, allowing _all_ other packages/apps to use them;

Incorrect. v1-install does roughly what you say and more, because it overwrites any deletes all different versions of the same libraries., The purpose of v2-install (without --lib flag) is only to make the executable globally available, nothing else.

* `v1-install` installs the package into that global location _without_ regard for the flags and version, thus possibly hurting other apps that want the installed package to be of a different version and/or compiled with different flags; `v2-install` "rectifies" this by maintaining different copies based on flags and version.

Almost correct, except that v2-build is the one tasked with installing libraries, v2-install has a different purpose.

jneira commented 2 years ago

Along the same line, what would be the difference between v2-install and v2-build --copy-bins?

Afaik internally v2-install makes and sdist (generating the source tarballs) of all packages, unpack them in $TMP and build them there, installing executables in the global location after that. As it does a build in a new location it has to recompile everything. I think I ve read somewhere the motivation of that but it seems it makes install command be more consistent and regular between the several targets it can handle: local and remote tarballs directly. The unique advantage I can think of is you build the effective sources included by sdist (which can be different from the located ones in the original dir)

So maybe it worths to keep it even if you add copy-bins, like stack.

mouse07410 commented 2 years ago

v1-build does not exist

Apparently, cabal-install 3.6.0.0 disagrees with you:

$ cabal --version
cabal-install version 3.6.0.0
compiled using version 3.6.1.0 of the Cabal library 
$ cabal help | grep build
  build             Compile targets within the project.
  report            Upload build reports to a remote server.
  v2-build          Compile targets within the project.
  v1-build          Compile all/specific components.
  v1-configure      Prepare to build the package.
  v1-clean          Clean up after a build.

The purpose of v2-install (without --lib flag) is only to make the executable globally available, nothing else.

Except, of course, that it must make sure the dependencies are installed as well, and if - as in my case - the build is dynamic, then all of the shared libraries from this package will also be installed.

But again, the goal is to install dependencies first, and then install the main package without having to recompile those dependencies again. The main package has to undergo tests, so it's built with --enable-tests. Current Cabal does not seem to allow this workflow, which is a problem.

Mikolaj commented 2 years ago

v1-build does not exist

Apparently, cabal-install 3.6.0.0 disagrees with you:

I stand corrected.

Funny, I even have it in my old makefiles, but haven't heard users using it for ages (or never? I think one usually needs to use v1-copy after that and people don't need that granularity with v1-?).

The purpose of v2-install (without --lib flag) is only to make the executable globally available, nothing else.

Except, of course, that it must make sure the dependencies are installed as well, and if - as in my case - the build is dynamic, then all of the shared libraries from this package will also be installed.

Haskell executables are linked statically wrt Haskell libraries, so normally just the sole executable suffices. But you are right, in the dynamic case that's not enough and, I don't know how that works exactly, but cabal v2-install needs to "make the executable globally available and runnable, nothing else".

But again, the goal is to install dependencies first, and then install the main package without having to recompile those dependencies again.

Do we mean, the goal of 'cabal v2-install --only-dependencies`? If so, we disagree, see above.

The main package has to undergo tests, so it's built with --enable-tests.

Makes sense.

Current Cabal does not seem to allow this workflow, which is a problem.

Are you sure? Did you try with cabal v2-build? Or even cabal v2-build --only-dependencies, given that it's useful in some circumstances?

mouse07410 commented 2 years ago

Haskell executables are linked statically wrt Haskell libraries, so normally just the sole executable suffices.

Well, yes - but the fact that shared: True and executable-dynamic: True are part of the standard Cabal approach, and have been for a long time - I daresay my use case (aka, building dynamic) is "normal".

But you are right, in the dynamic case that's not enough and, I don't know how that works exactly, but cabal v2-install needs to "make the executable globally available and runnable, nothing else".

Yes - but, as I said above, "globally available and runnable" requires that all of the dependencies of the current targets and all of the dynamic libraries of the current targets are also installed globally. So, I'm not sure what you meant by "nothing else", as AFAIK, there is nothing else.

But again, the goal is to install dependencies first, and then install the main package without having to recompile those dependencies again.

Do we mean, the goal of 'cabal v2-install --only-dependencies`? If so, we disagree, see above.

I mean - the goal of the workflow that the developers of Agda compiler set up, and which I'm not competent enough to modify.

On the other hand, that workflow makes a lot of sense - if my package pulls a lot of dependencies, I do not want to have to recompile them all every time I tweak something in my package, especially if that tweak is only "minor" flags.

Current Cabal does not seem to allow this workflow, which is a problem.

Are you sure? Did you try with cabal v2-build? Or even cabal v2-build --only-dependencies, given that it's useful in some circumstances?

I'm reasonably sure I did try that, and it recompiled everything when it came to building the "main" package (Agda itself). v2-build placed everything in the local build dir, aka dist-newstyle//build/x86_64-osx/ghc-9.0.1/XXXXXX. In other words, not globally. Though offhand, I can't validate what it's doing to dependencies - need to rush somewhere.

In addition to the listed problems, there were issues with @rpath, which I'm saving for a better time and a separate discussion.

Mikolaj commented 2 years ago

Haskell executables are linked statically wrt Haskell libraries, so normally just the sole executable suffices.

Well, yes - but the fact that shared: True and executable-dynamic: True are part of the standard Cabal approach, and have been for a long time - I daresay my use case (aka, building dynamic) is "normal".

Seriously, are we disputing whether my use of "normal" was justified?

mouse07410 commented 2 years ago

Seriously, are we disputing whether my use of "normal" was justified?

No, not really. ;-)

The question is whether the current Cabal supports the following workflow, and if it does - how to do it:

  1. Install all the dependencies, ideally with --enable-tests flag.
  2. Build (maybe also install during this step) the target(s) with --enable-tests flag and without having to recompile the dependencies.
  3. Copy the target binaries (executable(s) and shared library/libraries) to the global destination, usually ~/.cabal/bin and ~/.cabal/store.
gbaz commented 2 years ago

Cabal supports all but the last step, where you can copy binaries, but it will not copy shared libraries.

The alternate workflow, where one builds twice, once a build tests, and once with the "install" command, to install, will still use all the existing installed dependencies in the global store. This seems a minor inconvenience, at most.

I will repeat myself very clearly: despite the older (v1) agda instructions, installing with tests does not seem a workflow we should concern ourselves with supporting.

mouse07410 commented 2 years ago

The alternate workflow, where one builds twice, once a build tests, and once with the "install" command, to install, will still use all the existing installed dependencies in the global store. This seems a minor inconvenience, at most.

Will this alternate workflow rebuild the dependencies in the global store? If not - then there's no inconvenience, as far as I'm concerned. What should the exact commands be then for these two builds (assuming one wants to only use v2- commands)? Something like

  1. cabal v2-build --only dependencies xxxxxxxxx
  2. cabal v2-install --enable-tests xxxxxxxx

I really don't want Cabal to recompile all the dependencies just because install that follows build got an extra --enable-tests flag.

gbaz commented 2 years ago

cabal v2-build --enable-tests (assuming you want tests enabled). If you want tests to run you then need to run cabal v2-test. (If you build with tests enabled, but never run v2-test, there's no point). Subsequent calls to cabal v2-install will not recompile dependencies, since they are all in the shared global store. Also note that in the v2- workflow, --only-dependencies is not necessary -- cabal will plan and build dependencies, as well as manage them in the global store as necessary.

So in fact, assuming you don't actually want to run tests, then a single call to cabal v2-install suffices.

mouse07410 commented 2 years ago

Thank you! Much clearer. So, in your opinion I don't even need --only-dependencies in the v2- context?

A silly question: at the last cabal v2-install do I include --enable-tests flag? I confess to being more than a little confused.

gbaz commented 2 years ago

No. All the enable-tests flag does is configure the package to build the test suite. But the test suite is, by design, not installed. So it makes no sense to enable tests when installing.

mouse07410 commented 2 years ago

Sorry, no good.

Here's the build command:

time cabal v2-build --enable-tests --disable-documentation -foptimise-heavily -fenable-cluster-counting --ghc-options="+RTS -M6G -RTS" --program-suffix=-2.6.3 2>&1 | tee cabal-build-out.txt

Here's the install command:

time cabal v2-install --disable-documentation -foptimise-heavily -fenable-cluster-counting --ghc-options="+RTS -M6G -RTS" --program-suffix=-2.6.3 2>&1 | tee cabal-install-out.txt

cabal v2-build ... <flags> succeeds, and gets me the libraries and the executables I need (see the attached log below). So far so good.

You can see what remote packages it thinks it needs to build:

$ time cabal v2-build --enable-tests --disable-documentation -foptimise-heavily -fenable-cluster-counting --ghc-options="+RTS -M6G -RTS" --program-suffix=-2.6.3 2>&1 | tee cabal-build-out.txt
Resolving dependencies...
Build profile: -w ghc-9.0.1 -O1
In order, the following will be built (use -v for more details):
 - hashable-1.3.4.1 (lib) (requires download & build)
 - time-compat-1.9.6.1 (lib) (requires build)
 - these-1.1.1.1 (lib) (requires build)
 - async-2.2.4 (lib) (requires download & build)
 - scientific-0.3.7.0 (lib) (requires build)
 - unordered-containers-0.2.14.0 (lib) (requires build)
 - hashtables-1.2.4.1 (lib) (requires build)
 - data-fix-0.3.2 (lib) (requires build)
 - uuid-types-1.0.5 (lib) (requires build)
 - case-insensitive-1.2.1.0 (lib) (requires build)
 - strict-0.4.0.1 (lib) (requires build)
 - tasty-silver-3.2.3 (lib) (requires build)
 - attoparsec-0.14.1 (lib) (requires build)
 - aeson-1.5.6.0 (lib) (requires build)
 - Agda-2.6.3 (lib:Agda, exe:agda, exe:agda-mode, test:agda-tests) (configuration changed)
Downloading  hashable-1.3.4.1
.  .  .  .  .

cabal v2-install ... <same flags as above, except for --enable-tests rebuilds everything, when the whole idea is to avoid this extra build.

And you can see that the very same remote packages are now being rebuilt:

$ time cabal v2-install --disable-documentation -foptimise-heavily -fenable-cluster-counting --ghc-options="+RTS -M6G -RTS" --program-suffix=-2.6.3 2>&1 | tee cabal-install-out.txt
Wrote tarball sdist to
/Users/ur20980/src/agda/dist-newstyle/sdist/Agda-2.6.3.tar.gz
Resolving dependencies...
Build profile: -w ghc-9.0.1 -O1
In order, the following will be built (use -v for more details):
 - hashable-1.3.4.1 (lib) (requires build)
 - time-compat-1.9.6.1 (lib) (requires build)
 - these-1.1.1.1 (lib) (requires build)
 - async-2.2.4 (lib) (requires build)
 - scientific-0.3.7.0 (lib) (requires build)
 - unordered-containers-0.2.14.0 (lib) (requires build)
 - hashtables-1.2.4.1 (lib) (requires build)
 - data-fix-0.3.2 (lib) (requires build)
 - uuid-types-1.0.5 (lib) (requires build)
 - case-insensitive-1.2.1.0 (lib) (requires build)
 - strict-0.4.0.1 (lib) (requires build)
 - attoparsec-0.14.1 (lib) (requires build)
 - aeson-1.5.6.0 (lib) (requires build)
 - Agda-2.6.3 (exe:agda, exe:agda-mode) (requires build)
Starting     hashable-1.3.4.1 (lib)
.  .  .  .  .

The only difference in flags is absence of --enable-tests for the install. What is wrong? Why is cabal-3.6.0.0 doing that? Can you please fix it, so it doesn't rebuild what's already built?

Here are the logs: cabal-build-out.txt

$ time cabal v2-install --disable-documentation -foptimise-heavily -fenable-cluster-counting --ghc-options="+RTS -M6G -RTS" --program-suffix=-2.6.3 2>&1 | tee cabal-install-out.txt
Wrote tarball sdist to
/Users/ur20980/src/agda/dist-newstyle/sdist/Agda-2.6.3.tar.gz
Resolving dependencies...
Build profile: -w ghc-9.0.1 -O1
In order, the following will be built (use -v for more details):
 - hashable-1.3.4.1 (lib) (requires build)
 - time-compat-1.9.6.1 (lib) (requires build)
 - these-1.1.1.1 (lib) (requires build)
 - async-2.2.4 (lib) (requires build)
 - scientific-0.3.7.0 (lib) (requires build)
 - unordered-containers-0.2.14.0 (lib) (requires build)
 - hashtables-1.2.4.1 (lib) (requires build)
 - data-fix-0.3.2 (lib) (requires build)
 - uuid-types-1.0.5 (lib) (requires build)
 - case-insensitive-1.2.1.0 (lib) (requires build)
 - strict-0.4.0.1 (lib) (requires build)
 - attoparsec-0.14.1 (lib) (requires build)
 - aeson-1.5.6.0 (lib) (requires build)
 - Agda-2.6.3 (exe:agda, exe:agda-mode) (requires build)
Starting     hashable-1.3.4.1 (lib)
Building     hashable-1.3.4.1 (lib)
Installing   hashable-1.3.4.1 (lib)
Completed    hashable-1.3.4.1 (lib)
Starting     these-1.1.1.1 (lib)
Starting     scientific-0.3.7.0 (lib)
Starting     unordered-containers-0.2.14.0 (lib)
Starting     data-fix-0.3.2 (lib)
Starting     async-2.2.4 (lib)
Starting     uuid-types-1.0.5 (lib)
Starting     case-insensitive-1.2.1.0 (lib)
Starting     time-compat-1.9.6.1 (lib)
Starting     hashtables-1.2.4.1 (lib)
Building     data-fix-0.3.2 (lib)
Building     unordered-containers-0.2.14.0 (lib)
Building     scientific-0.3.7.0 (lib)
Building     these-1.1.1.1 (lib)
Building     time-compat-1.9.6.1 (lib)
Building     async-2.2.4 (lib)
Building     uuid-types-1.0.5 (lib)
Building     case-insensitive-1.2.1.0 (lib)
Building     hashtables-1.2.4.1 (lib)
Installing   data-fix-0.3.2 (lib)
Installing   async-2.2.4 (lib)
Installing   case-insensitive-1.2.1.0 (lib)
Completed    data-fix-0.3.2 (lib)
Installing   uuid-types-1.0.5 (lib)
Completed    async-2.2.4 (lib)
Installing   these-1.1.1.1 (lib)
Completed    case-insensitive-1.2.1.0 (lib)
Completed    uuid-types-1.0.5 (lib)
Completed    these-1.1.1.1 (lib)
Starting     strict-0.4.0.1 (lib)
Installing   scientific-0.3.7.0 (lib)
Installing   time-compat-1.9.6.1 (lib)
Completed    scientific-0.3.7.0 (lib)
Starting     attoparsec-0.14.1 (lib)
Completed    time-compat-1.9.6.1 (lib)
Building     strict-0.4.0.1 (lib)
Building     attoparsec-0.14.1 (lib)
Installing   unordered-containers-0.2.14.0 (lib)
Installing   hashtables-1.2.4.1 (lib)
Completed    unordered-containers-0.2.14.0 (lib)
Completed    hashtables-1.2.4.1 (lib)
Installing   strict-0.4.0.1 (lib)
Completed    strict-0.4.0.1 (lib)
Installing   attoparsec-0.14.1 (lib)
Completed    attoparsec-0.14.1 (lib)
Starting     aeson-1.5.6.0 (lib)
Building     aeson-1.5.6.0 (lib)
Installing   aeson-1.5.6.0 (lib)
Completed    aeson-1.5.6.0 (lib)
Starting     Agda-2.6.3 (all, legacy fallback)
Building     Agda-2.6.3 (all, legacy fallback)
.  .  .  .  . [build-for-install is still running]
jneira commented 2 years ago

@mouse07410 I am with you, each time I have to install hls I have to wait for two hours to see the end of the build To build and install it I have to plan it for the night, like my windows updates 😝

See https://github.com/haskell/cabal/issues/7297#issuecomment-939285238 for more info about the origin of build Vs install differences.

So from a user point of view the objective would be avoid hard to do rebuilds, no matter the underlying impl would be.

That said, don't you get a rebuild of local packages when you switch enable-tests between two cabal build?

mouse07410 commented 2 years ago

each time I have to install hls I have to wait for two hours to see the end of the build

Fur me as a user is a big inconvenience. For a big-project developer that uses CI it's a disaster, because the time CI allows the build+run to consume gets eaten up by this stupid rebuild. In the end, making it impossible to use CI. Not a good thing!

don't you get a rebuild of local packages when you switch enable-tests between two cabal build?

That's the whole point. I can understand why you don't want to install the tests you built. I do not understand why I cannot install the executables (and libraries) that were built with --enable-tests.

I think that upon install --enable-tests Cabal should install the main targets. I'm ok if it won't install the test-target.

Or am I missing something?

fgaz commented 2 years ago

Please let's use #6919 to discuss whether install should copy local executables and libraries built with build or not.

cabal v2-install ... <same flags as above, except for --enable-tests rebuilds everything, when the whole idea is to avoid this extra build. And you can see that the very same remote packages are now being rebuilt

I cannot reproduce this. In the insall command, all remote packages are reused. Maybe there is a difference deep in the dependency trees of the two build plans you're getting that causes all that (justified in that case) recompilation. You could check that with cabal-plan.

mouse07410 commented 2 years ago

I cannot reproduce this. In the insall command, all remote packages are reused. Maybe there is a difference deep in the dependency trees of the two build plans you're getting that causes all that (justified in that case) recompilation

I'm pretty sure that the complexity of the Agda project build contributes a lot to exposing this problem - but I say it's still a Cabal problem.

You could check that with cabal-plan

Not sure I understand what you mean - but

$ cabal-plan list-bins
Agda:exe:agda  /Users/ur20980/src/agda/dist-newstyle/build/x86_64-osx/ghc-9.0.1/Agda-2.6.3/build/agda/agda
Agda:exe:agda-mode  /Users/ur20980/src/agda/dist-newstyle/build/x86_64-osx/ghc-9.0.1/Agda-2.6.3/build/agda-mode/agda-mode
happy:exe:happy  /Users/ur20980/.cabal/store/ghc-9.0.1/hppy-1.20.0-37a15369/bin/happy
alex:exe:alex  /Users/ur20980/.cabal/store/ghc-9.0.1/lx-3.2.6-c78ab9a4/bin/alex
$

happy and alex , apparently, are byproducts of this build, because

$ ll /Users/ur20980/.cabal/bin/alex
lrwxr-xr-x  1 ur20980  staff  45 Sep 28 13:13 /Users/ur20980/.cabal/bin/alex@ -> ../store/ghc-9.0.1/lx-3.2.6-64150b8d/bin/alex
$ ll /Users/ur20980/.cabal/store/ghc-9.0.1/lx-3.2.6-c78ab9a4/bin/alex
-rwxr-xr-x  1 ur20980  staff  883104 Sep 28 23:22 /Users/ur20980/.cabal/store/ghc-9.0.1/lx-3.2.6-c78ab9a4/bin/alex*
$ 

And, of course

$ cabal list-bin Agda:exe:agda
cabal: No or multiple targets given

$ 

Update

One more concern:

$ cabal-plan list-bin Agda:exe:agda
/Users/ur20980/src/agda/dist-newstyle/build/x86_64-osx/ghc-9.0.1/Agda-2.6.3/build/agda/agda
$ otool -L `cabal-plan list-bin Agda:exe:agda`
/Users/ur20980/src/agda/dist-newstyle/build/x86_64-osx/ghc-9.0.1/Agda-2.6.3/build/agda/agda:
    @rpath/libHSAgda-2.6.3-inplace-ghc9.0.1.dylib (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libHSbase-4.15.0.0-ghc9.0.1.dylib (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libHSghc-prim-0.7.0-ghc9.0.1.dylib (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libHSrts_thr-ghc9.0.1.dylib (compatibility version 0.0.0, current version 0.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.100.5)
$ 

The executable depends on the project-built shared library @rpath/libHSAgda-2.6.3-inplace-ghc9.0.1.dylib, which is not listed/noticed/picked by cabal-plan. It implies that it can't be copied manually via something like

$ cp `cabal-plan list-bin Agda:exe:agda` $DEST_DIR
gbaz commented 2 years ago

Just tried this (though with ghc 8.10.4) and can't reproduce the deps being rebuilt when trying an install after a build with --enable-tests.

Note that it appears only a small subset of libs are being rebuilt, so its not a general issue, but something pertaining to those libs in particular.

This may have to do with the dynamic linking opts in your ~/cabal.config

mouse07410 commented 2 years ago

. . . can't reproduce the deps being rebuilt when trying an install after a build with --enable-tests

A sure reproducer for me in Agda repo itself - a bit on the big side, but should suffice as a proof...

All of my toy projects are trivially small, so not representative...

Note that it appears only a small subset of libs are being rebuilt, so its not a general issue, but something pertaining to those libs in particular.

Or, rather, a general issue impacting specific conditions. I doubt it's specific to individual libs/packages - probably, specific to what flags their project files define...?

This may have to do with the dynamic linking opts in your ~/cabal.config

No doubt, dynamic linking exacerbates the problem. Though I doubt it causes it.

gbaz commented 2 years ago

I literally tried this with the agda repo. I couldn't reproduce.

fgaz commented 2 years ago

Same and same.

You could check that with cabal-plan

Not sure I understand what you mean

if you run cabal-plan info you get detailed information about the build plan. There's even a cabal-plan diff command that could help you pinpoint the cause

mouse07410 commented 2 years ago

You could check that with cabal-plan

Not sure I understand what you mean

if you run cabal-plan info you get detailed information about the build plan. There's even a cabal-plan diff command that could help you pinpoint the cause

My apologies for being dense. Say, I have a pristine/clean clone of the repo, ready for cabal build and such. What would be the sequence of commands, including cabal-plan ... that you suggest I run?

mouse07410 commented 2 years ago

I literally tried this with the agda repo. I couldn't reproduce.

@gbaz and @fgaz would it be possible for you to re-try the same with (a) dynamic build (editing ~/.cabal/config), and/or (b) the current GHC-9.0.1?

jneira commented 2 years ago

So not sure if my test is correct but i tried a raw cabal build -w ghc-8.10.7 and then cabal install -w ghc-8.10.7 and many dependencies has been rebuilt:

List of dependencies ``` PS D:\hls> cabal build -w ghc-8.10.7 Resolving dependencies... Build profile: -w ghc-8.10.7 -O1 In order, the following will be built (use -v for more details): - ghcide-1.4.2.3 (exe:ghcide-test-preprocessor) (first run) - githash-0.1.6.2 (lib) (requires download & build) - hashable-1.3.4.1 (lib) (requires download & build) - hie-compat-0.2.1.0 (lib) (first run) - random-1.2.1 (lib) (requires download & build) - vector-0.12.3.1 (lib) (requires download & build) - optparse-simple-0.1.1.4 (lib) (requires build) - unordered-containers-0.2.14.0 (lib) (requires build) - time-compat-1.9.6.1 (lib) (requires build) - these-1.1.1.1 (lib) (requires build) - scientific-0.3.7.0 (lib) (requires build) - psqueues-0.2.7.2 (lib) (requires build) - opentelemetry-0.7.0 (lib) (requires build) - data-fix-0.3.2 (lib) (requires build) - constraints-0.13 (lib) (requires build) - case-insensitive-1.2.1.0 (lib) (requires build) - async-2.2.3 (lib) (requires build) - uuid-types-1.0.5 (lib) (requires build) - tf-random-0.5 (lib) (requires build) - temporary-1.3 (lib) (requires build) - QuickCheck-2.14.2 (lib) (requires build) - MonadRandom-0.5.3 (lib) (requires build) - vector-algorithms-0.8.0.4 (lib) (requires build) - monoid-subclasses-1.1.1 (lib) (requires build) - monad-memo-0.5.3 (lib) (requires build) - hashtables-1.2.4.1 (lib) (requires build) - blaze-textual-0.2.2.1 (lib) (requires build) - uniplate-1.6.13 (lib) (requires build) - semigroupoids-5.3.5 (lib) (requires build) - lucid-2.9.12.1 (lib) (requires build) - invariant-0.5.4 (lib) (requires build) - indexed-traversable-instances-0.1 (lib) (requires build) - hyphenation-0.8.2 (lib) (requires build) - charset-0.3.8 (lib) (requires build) - strict-0.4.0.1 (lib) (requires build) - attoparsec-0.13.2.5 (lib) (requires build) - constraints-extras-0.3.1.0 (lib) (requires build) - megaparsec-9.2.0 (lib) (requires download & build) - unliftio-0.2.20 (lib) (requires build) - typed-process-0.2.6.3 (lib) (requires download & build) - streaming-commons-0.2.2.1 (lib) (requires build) - hls-graph-1.5.0.0 (lib) (first run) - uuid-1.3.15 (lib) (requires build) - tasty-golden-2.3.4 (lib) (requires build) - quickcheck-io-0.2.0 (lib) (requires build) - random-shuffle-0.0.4 (lib:random-shuffle) (requires build) - mono-traversable-1.0.15.3 (lib) (requires download & build) - fuzzy-0.1.0.1 (lib) (requires download & build) - heapsize-0.3.0.1 (lib) (requires build) - ghc-lib-parser-ex-8.10.0.23 (lib) (requires build) - strict-list-0.1.6 (lib) (requires build) - free-5.1.7 (lib) (requires build) - foldl-1.4.12 (lib) (requires build) - sqlite-simple-0.4.18.0 (lib) (requires build) - parsers-0.12.10 (lib) (requires build) - aeson-1.5.6.0 (lib) (requires build) - dependent-sum-0.7.1.0 (lib) (requires build) - hspec-core-2.7.10 (lib) (requires build) - conduit-1.3.4.2 (lib) (requires download & build) - deque-0.4.4 (lib) (requires build) - monad-dijkstra-0.1.1.3 (lib) (requires build) - ghc-exactprint-0.6.4 (lib) (requires build) - adjunctions-4.4 (lib) (requires build) - hiedb-0.4.1.0 (lib) (requires build) - aeson-pretty-0.8.8 (lib) (requires build) - HsYAML-aeson-0.2.0.0 (lib) (requires build) - dependent-sum-template-0.1.0.3 (lib) (requires build) - dependent-map-0.4.0.0 (lib:dependent-map) (requires build) - hspec-2.7.10 (lib) (requires build) - libyaml-0.1.2 (lib) (requires build) - conduit-parse-0.2.1.0 (lib) (requires build) - conduit-extra-1.3.5 (lib) (requires build) - butcher-1.3.3.2 (lib) (requires build) - floskell-0.10.5 (lib) (requires build) - retrie-1.0.0.0 (lib) (requires build) - apply-refact-0.9.3.0 (lib) (requires build) - kan-extensions-5.2.3 (lib) (requires build) - stylish-haskell-0.13.0.0 (lib) (requires build) - fourmolu-0.3.0.0 (lib) (requires build) - yaml-0.11.6.0 (lib) (requires download & build) - lens-5.0.1 (lib) (requires build) - implicit-hie-0.1.2.6 (lib) (requires build) - hlint-3.2.7 (lib) (requires build) - hie-bios-0.7.6 (lib) (requires build) - brittany-0.13.1.2 (lib) (requires build) - lsp-types-1.3.0.1 (lib) (requires build) - implicit-hie-cradle-0.3.0.5 (lib) (requires build) - lsp-test-0.14.0.1 (lib) (requires build) - lsp-1.2.0.1 (lib) (requires build) - hls-plugin-api-1.2.0.1 (lib) (first run) - ghcide-1.4.2.3 (lib) (first run) - hls-test-utils-1.1.0.0 (lib) (first run) - hls-tactics-plugin-1.4.0.0 (lib) (first run) - hls-stylish-haskell-plugin-1.0.0.2 (lib) (first run) - hls-splice-plugin-1.0.0.4 (lib) (first run) - hls-retrie-plugin-1.0.1.2 (lib) (first run) - hls-pragmas-plugin-1.0.1.0 (lib) (first run) - hls-ormolu-plugin-1.0.1.0 (lib) (first run) - hls-module-name-plugin-1.0.0.1 (lib) (first run) - hls-hlint-plugin-1.0.1.1 (lib) (first run) - hls-haddock-comments-plugin-1.0.0.3 (lib) (first run) - hls-fourmolu-plugin-1.0.1.0 (lib) (first run) - hls-floskell-plugin-1.0.0.1 (lib) (first run) - hls-explicit-imports-plugin-1.0.1.0 (lib) (first run) - hls-eval-plugin-1.1.2.0 (lib) (first run) - hls-class-plugin-1.0.1.0 (lib) (first run) - hls-call-hierarchy-plugin-1.0.1.0 (lib) (first run) - hls-brittany-plugin-1.0.1.0 (lib) (first run) - haskell-language-server-1.4.0.0 (lib) (first run) - hls-refine-imports-plugin-1.0.0.1 (lib) (first run) - haskell-language-server-1.4.0.0 (exe:haskell-language-server-wrapper) (first run) - haskell-language-server-1.4.0.0 (exe:haskell-language-server) (first run) - haskell-language-server-1.4.0.0 (test:wrapper-test) (first run) - haskell-language-server-1.4.0.0 (test:func-test) (first run) PS D:\hls> cabal install -w ghc-8.10.7 Wrote tarball sdist to D:\hls\dist-newstyle\sdist\haskell-language-server-1.4.0.0.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hie-compat-0.2.1.0.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\shake-bench-0.1.0.2.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-graph-1.5.0.0.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\ghcide-1.4.2.3.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-plugin-api-1.2.0.1.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-test-utils-1.1.0.0.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-tactics-plugin-1.4.0.0.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-brittany-plugin-1.0.1.0.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-stylish-haskell-plugin-1.0.0.2.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-fourmolu-plugin-1.0.1.0.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-class-plugin-1.0.1.0.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-eval-plugin-1.1.2.0.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-explicit-imports-plugin-1.0.1.0.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-refine-imports-plugin-1.0.0.1.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-hlint-plugin-1.0.1.1.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-rename-plugin-1.0.0.0.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-retrie-plugin-1.0.1.2.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-haddock-comments-plugin-1.0.0.3.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-splice-plugin-1.0.0.4.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-floskell-plugin-1.0.0.1.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-pragmas-plugin-1.0.1.0.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-module-name-plugin-1.0.0.1.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-ormolu-plugin-1.0.1.0.tar.gz Wrote tarball sdist to D:\hls\dist-newstyle\sdist\hls-call-hierarchy-plugin-1.0.1.0.tar.gz Resolving dependencies... Build profile: -w ghc-8.10.7 -O1 In order, the following will be built (use -v for more details): - githash-0.1.6.2 (lib) (requires build) - hashable-1.3.4.1 (lib) (requires build) - random-1.2.1 (lib) (requires build) - vector-0.12.3.1 (lib) (requires build) - optparse-simple-0.1.1.4 (lib) (requires build) - unordered-containers-0.2.14.0 (lib) (requires build) - time-compat-1.9.6.1 (lib) (requires build) - these-1.1.1.1 (lib) (requires build) - scientific-0.3.7.0 (lib) (requires build) - psqueues-0.2.7.2 (lib) (requires build) - opentelemetry-0.7.0 (lib) (requires build) - data-fix-0.3.2 (lib) (requires build) - constraints-0.13 (lib) (requires build) - case-insensitive-1.2.1.0 (lib) (requires build) - async-2.2.3 (lib) (requires build) - uuid-types-1.0.5 (lib) (requires build) - temporary-1.3 (lib) (requires build) - QuickCheck-2.14.2 (lib) (requires build) - MonadRandom-0.5.3 (lib) (requires build) - vector-algorithms-0.8.0.4 (lib) (requires build) - monoid-subclasses-1.1.1 (lib) (requires build) - monad-memo-0.5.3 (lib) (requires build) - hashtables-1.2.4.1 (lib) (requires build) - blaze-textual-0.2.2.1 (lib) (requires build) - uniplate-1.6.13 (lib) (requires build) - semigroupoids-5.3.5 (lib) (requires build) - lucid-2.9.12.1 (lib) (requires build) - invariant-0.5.4 (lib) (requires build) - indexed-traversable-instances-0.1 (lib) (requires build) - hyphenation-0.8.2 (lib) (requires build) - strict-0.4.0.1 (lib) (requires build) - attoparsec-0.13.2.5 (lib) (requires build) - constraints-extras-0.3.1.0 (lib) (requires build) - megaparsec-9.2.0 (lib) (requires build) - unliftio-0.2.20 (lib) (requires build) - typed-process-0.2.6.3 (lib) (requires build) - streaming-commons-0.2.2.1 (lib) (requires build) - hls-graph-1.5.0.0 (lib) (requires build) - uuid-1.3.15 (lib) (requires build) - random-shuffle-0.0.4 (lib:random-shuffle) (requires build) - mono-traversable-1.0.15.3 (lib) (requires build) - fuzzy-0.1.0.1 (lib) (requires build) - heapsize-0.3.0.1 (lib) (requires build) - ghc-lib-parser-ex-8.10.0.23 (lib) (requires build) - strict-list-0.1.6 (lib) (requires build) - free-5.1.7 (lib) (requires build) - foldl-1.4.12 (lib) (requires build) - sqlite-simple-0.4.18.0 (lib) (requires build) - aeson-1.5.6.0 (lib) (requires build) - dependent-sum-0.7.1.0 (lib) (requires build) - conduit-1.3.4.2 (lib) (requires build) - deque-0.4.4 (lib) (requires build) - monad-dijkstra-0.1.1.3 (lib) (requires build) - ghc-exactprint-0.6.4 (lib) (requires build) - adjunctions-4.4 (lib) (requires build) - hiedb-0.4.1.0 (lib) (requires build) - aeson-pretty-0.8.8 (lib) (requires build) - HsYAML-aeson-0.2.0.0 (lib) (requires build) - dependent-sum-template-0.1.0.3 (lib) (requires build) - dependent-map-0.4.0.0 (lib:dependent-map) (requires build) - libyaml-0.1.2 (lib) (requires build) - conduit-extra-1.3.5 (lib) (requires build) - butcher-1.3.3.2 (lib) (requires build) - floskell-0.10.5 (lib) (requires build) - retrie-1.0.0.0 (lib) (requires build) - apply-refact-0.9.3.0 (lib) (requires build) - kan-extensions-5.2.3 (lib) (requires build) - stylish-haskell-0.13.0.0 (lib) (requires build) - fourmolu-0.3.0.0 (lib) (requires build) - yaml-0.11.6.0 (lib) (requires build) - lens-5.0.1 (lib) (requires build) - implicit-hie-0.1.2.6 (lib) (requires build) - hlint-3.2.7 (lib) (requires build) - hie-bios-0.7.6 (lib) (requires build) - brittany-0.13.1.2 (lib) (requires build) - lsp-types-1.3.0.1 (lib) (requires build) - implicit-hie-cradle-0.3.0.5 (lib) (requires build) - lsp-1.2.0.1 (lib) (requires build) - hls-plugin-api-1.2.0.1 (lib) (requires build) - ghcide-1.4.2.3 (lib) (requires build) - hls-tactics-plugin-1.4.0.0 (lib) (requires build) - hls-stylish-haskell-plugin-1.0.0.2 (lib) (requires build) - hls-splice-plugin-1.0.0.4 (lib) (requires build) - hls-retrie-plugin-1.0.1.2 (lib) (requires build) - hls-pragmas-plugin-1.0.1.0 (lib) (requires build) - hls-ormolu-plugin-1.0.1.0 (lib) (requires build) - hls-module-name-plugin-1.0.0.1 (lib) (requires build) - hls-hlint-plugin-1.0.1.1 (lib) (requires build) - hls-haddock-comments-plugin-1.0.0.3 (lib) (requires build) - hls-fourmolu-plugin-1.0.1.0 (lib) (requires build) - hls-floskell-plugin-1.0.0.1 (lib) (requires build) - hls-explicit-imports-plugin-1.0.1.0 (lib) (requires build) - hls-eval-plugin-1.1.2.0 (lib) (requires build) - hls-class-plugin-1.0.1.0 (lib) (requires build) - hls-call-hierarchy-plugin-1.0.1.0 (lib) (requires build) - hls-brittany-plugin-1.0.1.0 (lib) (requires build) - haskell-language-server-1.4.0.0 (lib) (requires build) - hls-refine-imports-plugin-1.0.0.1 (lib) (requires build) - haskell-language-server-1.4.0.0 (exe:haskell-language-server-wrapper) (requires build) - haskell-language-server-1.4.0.0 (exe:haskell-language-server) (requires build) ... ```

This is the cabal plan after cabal build :

cabal-plan output ``` using 'D:\hls' as project root Top-sorted ~~~~~~~~~~ UnitId "rts" UnitId "ghc-prim-0.6.1" UnitId "integer-gmp-1.0.3.0" UnitId "base-4.14.3.0" UnitId "Boolean-0.2.4-ae22bf8d10bd7cda26fdb5ef0d6d01ba66b42feb" UnitId "array-0.5.4.0" UnitId "deepseq-1.4.4.0" UnitId "bytestring-0.10.12.0" UnitId "filepath-1.4.2.1" UnitId "Win32-2.6.2.1" UnitId "containers-0.6.5.1" UnitId "binary-0.8.8.0" UnitId "time-1.9.3" UnitId "directory-1.3.6.0" UnitId "transformers-0.5.6.2" UnitId "mtl-2.2.2" UnitId "ghc-boot-th-8.10.7" UnitId "pretty-1.1.3.6" UnitId "template-haskell-2.16.0.0" UnitId "text-1.2.4.1" UnitId "parsec-3.1.14.0" UnitId "process-1.6.13.2" UnitId "Cabal-3.2.1.0" UnitId "colour-2.3.6-27894d73f20e8384bb09ce5750819bccda2c65cc" UnitId "data-default-_-0.1.2.0-032506f3823413cc0318c62af5504fd4de4cd6e9" UnitId "base-orphans-0.8.5-6cc8636bc787d64c6c65144913d811cbc01169ad" UnitId "tagged-0.8.6.1-b96701fdedd6d182b9ebb7472a6a9d70ff1b71dd" UnitId "distributive-0.6.2.1-a505221266e34a0667f247d6367491f3f46ff1bc" UnitId "indexed-trave_-0.1.1-c18a7628e1a200dc3e5f08338ef7f3b51babf307" UnitId "transformers-_-0.6.6-575ec417087ff4ac4b43a47b96c18fef6f664798" UnitId "comonad-5.0.8-75d3909419d117ed25aeb4a64f77b1f99e388bb6" UnitId "th-abstraction-0.4.3.0-a0c6560cffc1663c5afe4ee21f4ce205974b5480" UnitId "bifunctors-5.5.11-d8a19283e025ee3db84e95be4e7fd886a6142e98" UnitId "assoc-1.0.2-c9443d7fb019ca3cc0d05b11bb10b8f24799bb4b" UnitId "call-stack-0.4.0-1e5a431d48a85a8d47c3cfe4e991ff32e99a57a6" UnitId "stm-2.5.0.1" UnitId "StateVar-1.2.2-7bd11e17cfe2cd175f98a2c8ae158b314d7cae71" UnitId "contravariant-1.5.5-31df31cd2eb56743282e644ec4d30b41f47d1fd3" UnitId "exceptions-0.10.4" UnitId "profunctors-5.6.2-820783b3d43feeb9e7c0e051c74654bc8641787b" UnitId "hashable-1.3.4.1-806b938e072fcef83e9a70da9a70f33c32b1aaff" UnitId "unordered-con_-0.2.14.0-cb9033c2448173442480895a0c7b5e1a0cf9a39f" UnitId "semigroupoids-5.3.5-fe340876b817909b73db3527c5ecd07479983177" UnitId "transformers-_-0.4.6-96f58c8c5d34a43e0b3656713c8dd9d6c97b2eae" UnitId "free-5.1.7-ca6ffbe6a1c14ef3b7f4848fce9643574f7ce22a" UnitId "primitive-0.7.2.0-449408de6a03a85de18641cfb7162ab5e5740368" UnitId "vector-0.12.3.1-7c09cacd7f17fecd0d3d4299462748ae9ae39163" UnitId "indexed-trave_-0.1-38edf976c6bedbbb05afc7f81c9ce941ee4f2fb0" UnitId "semigroups-0.19.2-41485001484fbf58f6661b37eccb1b0da6fca77e" UnitId "void-0.7.3-cb19afa96efc95da9495d02f35189e05a3af2e5e" UnitId "adjunctions-4.4-5e4dd342ba407a8f2b21bca6a68d36e435251780" UnitId "invariant-0.5.4-08f0fa9bc8e40f464759125b94860a85740c0af5" UnitId "kan-extensions-5.2.3-35a76e4fb11faeb573cc31d3f929248e2cc52fe9" UnitId "parallel-3.2.2.0-db114101092b8d87ae8f88e62d1ac6e21e8f0adb" UnitId "reflection-2.1.6-8a4ccc55fc1809feaa474d40a48ecf0805a8c247" UnitId "these-1.1.1.1-96c767e2741282434f58d17c2f3e34eb198bc540" UnitId "strict-0.4.0.1-69344cad55dc9d26f8a938154b897ed900158035" UnitId "lens-5.0.1-23e1c992c06f58ea5e03a698aeebebd4c569ed55" UnitId "old-locale-1.0.0.7-2c1b7e1186dc038bb902dfd3f9667124789a1081" UnitId "operational-0.2.4.0-9487ca4fe99c136108d144e491c4ea73af4172b1" UnitId "Chart-1.9.3-6767f12e7bd78ce05bdcaa384c84b301ca7453bb" UnitId "integer-logar_-1.0.3.1-b5c240921a9606ade978a24ee6ed522273875ed9" UnitId "scientific-0.3.7.0-86def7930c05e7858d04c3d0a97edd30fbb5230d" UnitId "attoparsec-0.13.2.5-5b61fc510d6a53e310548f93a6ca69d4dc18252a" UnitId "blaze-builder-0.4.2.1-8b3775498f5104e2cc524da52a7f7711d31f063c" UnitId "blaze-markup-0.8.2.8-f16e04667a9187760ef347f7ab0e92e829a41e63" UnitId "blaze-svg-0.3.6.1-a30db0d0bf2253dc6db6ddc715a6f52b11f1f769" UnitId "cereal-0.5.8.1-03289917e2ab04d4cc252be1f4f3f08a7c4426ab" UnitId "cereal-vector-0.2.0.1-654661ead912ca80a085f8d836f2dc16c6d79c93" UnitId "groups-0.5.3-897c8d1f4b108d8cfdb40ef9d464993b76c4b59d" UnitId "monoid-extras-0.6-c78e4a91bbef5cee20fdbd0f130855c854b4dda5" UnitId "newtype-gener_-0.6-2510f544aaed81a1edc1b3197e62b733f286f00d" UnitId "dual-tree-0.2.3.0-bce925227c447b22ece1df4b2f5213a20349d30c" UnitId "binary-orphans-1.0.1-65f8c8cd78b632af3d1ae7e2628adc81ba405a3c" UnitId "bytes-0.17.1-904d39f7217fee30f5abdcc2adb3694651aa3050" UnitId "splitmix-0.1.0.3-375c5f4284797ae2cc392b68ba018c513b4e7382" UnitId "random-1.2.1-88157368b71e1874e2cdaf9126a57d033c51bde6" UnitId "linear-1.21.7-ce4a0d54d5f5cd84ae5cfe8903970c52278b8b07" UnitId "diagrams-core-1.5.0-22963741923f4b5c1d1b0fe42a985f63a1ececa7" UnitId "zlib-0.6.2.3-9827b4d3c378240186f560baa23785e5280397cd" UnitId "JuicyPixels-3.3.5-9a6b20b34e057e93674c27bef32413e94f3a1c0d" UnitId "active-0.2.0.15-2fdedf172a811611f60e4e508d52b36c4396f392" UnitId "diagrams-solve-0.1.3-dbe1c625763689cfb653c804eff7d09684d0d1ab" UnitId "fingertree-0.1.4.2-d46dc7e073e1dc7b24b68c37d3160d5d1904d43a" UnitId "async-2.2.3-6f069dd0effd7b8833ff0e8a87c25ba36e7ae8e5" UnitId "unix-compat-0.5.3-2c534364b78dd6fdc4b41971e5c636c643d63483" UnitId "fsnotify-0.3.0.1-58ceb1ca39d9863851a9f4326d93a11d5ae5ad07" UnitId "intervals-0.9.2-4b5e96ee4c093a9818d90a449b3849f1a44f352e" UnitId "mintty-0.1.2-ed4d2c95d324712ff13d499f2e93784dd399bcff" UnitId "ansi-terminal-0.11-3dea379631bf12202b28319a7ab039a3c268d29e" UnitId "ansi-wl-pprint-0.6.9-fb3a368296bcdeb00d6f862889c6fca059878de9" UnitId "optparse-appl_-0.16.1.0-7c693e7a8b94d1fb30ef418f1aa9472cc6cccbf9" UnitId "diagrams-lib-1.4.4-1075fd57b9e593f8ffc7b83e89fb27d57c1f857c" UnitId "split-0.2.3.4-8435dc42edc6048b466e1acb1457b2f4158c6bfd" UnitId "xml-1.3.14-620dc134ac54a2c5a4af0904905ce593b00d0b24" UnitId "SVGFonts-1.7.0.1-40ffe8198cb1c0d0404107cadcf00141325c526a" UnitId "statestack-0.3-cc8896ff332717adfff411474378c63caf29eb75" UnitId "diagrams-post_-1.5-52285e6315ac59f6f4861a02b96eaa95efa231f9" UnitId "base64-bytest_-1.2.1.0-991f21014238dcadad453b91138cf95c54a75cd7" UnitId "svg-builder-0.1.1-b5a6ad0dca2a9a235d10f848766b7f134f0f8062" UnitId "diagrams-svg-1.4.3-9d510c6f1f2dbdcda0c644c0a48ff6235de1aeac" UnitId "Chart-diagrams-1.9.3-907f09a477209851e9533722003620ffece4ff47" UnitId "Diff-0.4.0-bfa6b682df6ecb9bcd480cb6bb41d9784be8d0eb" UnitId "dlist-1.0-70c2153422a506fbed0930d8f281670b88a8869c" UnitId "Glob-0.10.1-b480d8d7436e13f2bfaf1477d04afb4b382610af" UnitId "HUnit-1.6.2.0-285588e5bf76b278f59ee95d5051166007297b01" UnitId "HsYAML-0.2.1.0-3ff92d14a8e56ce56ace4b943afbfba86afc6175" UnitId "base-compat-0.12.0-2910f8ffe0fa5604aa349042ccd53822557f53bc" UnitId "base-compat-b_-0.12.0-fca054eb380a9b26a3dbe4212958a0848948ff95" UnitId "data-fix-0.3.2-d29e48467d69e52c97510ee3aaeb64c8594ba5fd" UnitId "time-compat-1.9.6.1-a6bc92b7f828abd27e06d12913315acaa2e46d12" UnitId "uuid-types-1.0.5-2eb192d23eb41017b9832d231bba4ef2c9dc83ee" UnitId "aeson-1.5.6.0-f67b81624af7b9c2bd532ae55a9b023d0c0a26a8" UnitId "HsYAML-aeson-0.2.0.0-45433933cd7fcc77ecc292359d87f2de263ed896" UnitId "MemoTrie-0.6.10-d3677fb6a82a74f75eb24b99becb2509bd285622" UnitId "MonadRandom-0.5.3-b2627441d69d4cac379ca7e6ccdfd11f2e3d4387" UnitId "NumInstances-1.4-9c86c35b8f5a39428d8888c964630e37cd20de03" UnitId "Only-0.1-65fc66e89a549d53bab5498a3cfd708d1817d520" UnitId "QuickCheck-2.14.2-bd9ffc0aa406e6b3e75c2380cf0eaf537463f7e2" UnitId "aeson-pretty-0.8.8-c838b5c1f26315b08ead086845d93551148cd715" UnitId "cmdargs-0.10.21-b3d51e5aa01f866792600933a2644b1b4a774ccc" UnitId "aeson-pretty-0.8.8-a15092e839ed8517a58a2d343be182349a6c6612" UnitId "alex-3.2.6-50d1df62f4c2b87f33e627c29fb66eb7ab89df2f" UnitId "algebraic-gra_-0.5-7d141658f73287028d389bbb0a78db7f7b345ee9" UnitId "clock-0.8.2-2e9c96673b57bc215b0a6dbf3339fb3cd40ee65c" UnitId "extra-1.7.9-0b3c0eedab315ce7dd90bdd2eb49f712f995421f" UnitId "filemanip-0.3.6.3-d70da8287c38d51e60febf3f74e18480663ebcdf" UnitId "ghc-boot-8.10.7" UnitId "ghc-heap-8.10.7" UnitId "ghci-8.10.7" UnitId "hpc-0.6.1.0" UnitId "ghc-8.10.7" UnitId "ghc-paths-0.1.0.12-05bd33a6a903d4a528632ac9c5dd2e49680e791c" UnitId "syb-0.7.2.1-723e9a69e957b268cc410cbdf23318d1c1830f46" UnitId "ghc-exactprint-0.6.4-ec62ac66f8114826b63f6aa28c43269421fdd2a0" UnitId "refact-0.3.0.2-f4d06046bca208c603a9c79743d477f5d1977a15" UnitId "uniplate-1.6.13-3595f790d234abca95ab6f1fa4c55694daaa0181" UnitId "apply-refact-0.9.3.0-64ff9680ec9268f75e37da120e05b26cc478354a" UnitId "apply-refact-0.9.3.0-eeca2a173ba5dd07e813ab5a831196fcefee517d" UnitId "atomic-primops-0.8.4-e10acd39ef2ef6789670e29c800f18d3d889e6d6" UnitId "base16-bytest_-1.0.1.0-72484f6a164af6d1a5fa215f937c9e404f8bc90c" UnitId "blaze-textual-0.2.2.1-36a426ea59ae69de6e65ba1dff0824de9b6886d8" UnitId "strict-list-0.1.6-b6fda983c6f6838dd0ca2b24387490c9e1435e3f" UnitId "deque-0.4.4-53bfc1e5c2c5b961aa1dcc6d597b0b3f7fc1d784" UnitId "microlens-0.4.12.0-968b50fb58e3830112553cc169042bb675bed949" UnitId "microlens-th-0.4.3.10-02d3f92bcd1410015cd465232ce93d09c93d6af5" UnitId "monad-control-1.0.3.1-0e65947998cbffbbad9e09601269bf2a01585d81" UnitId "multistate-0.8.0.3-d9caa29d4d6a8a01a3c935dd1db177d7eb1570c2" UnitId "unsafe-0.0-8d8646877220add1e3a0ce9ceef01d700cd4bb87" UnitId "butcher-1.3.3.2-4307e05f04bbff18c06bc6d472ac43f929a7867c" UnitId "czipwith-1.0.1.3-f740d8110dde19fe94bbfe2ba2fb8217708e4dc3" UnitId "data-tree-pri_-0.1.0.2-f64219c954a547f0bb232a3fa834ad598b57f99f" UnitId "monad-memo-0.5.3-f6783aaf5cecac4a6178d98b8687a4f0a7d8428d" UnitId "safe-0.3.19-195763394f9e43b82f188f5de6526ffe854525bf" UnitId "vector-algori_-0.8.0.4-f9fff35c1a8166433b7dfa1af3f164736bef4337" UnitId "mono-traversa_-1.0.15.3-2ac7bee2add0f566f70e26a1249bcd829bdc3785" UnitId "unliftio-core-0.2.0.1-afa22f0161d0d6dd605995c48d760db1498c6973" UnitId "resourcet-1.2.4.3-03d83c1461dbd824c90d4e9cd0bca823f35fd56d" UnitId "conduit-1.3.4.2-c0a458835ed4c4ae404cf7cbb8eca488de5a5c45" UnitId "libyaml-0.1.2-938c943a78796577beb93c4bc42bd5d485ffd1d5" UnitId "yaml-0.11.6.0-cf2171e11826014a17de7b711300002c9583d374" UnitId "brittany-0.13.1.2-405d7c12bacec185f2248c486b2627c327ff70c5" UnitId "brittany-0.13.1.2-0bc0883f264a1982084693fcea237a62246146fc" UnitId "bytestring-en_-0.1.1.0-5f1ded0303ad5f4510366829a92b8acdea814d4b" UnitId "cabal-doctest-1.0.8-384056a73731703cbf9e26db7ebf4b8b99c85f40" UnitId "case-insensit_-1.2.1.0-19aa677f90b2366ab2feabdab929c60a46b392b7" UnitId "charset-0.3.8-b9a6f5eb0943caa45a1bca71e84d06b86d398c1f" UnitId "circle-packing-0.1.0.6-686e3be7fd1ebb7781d485c84e60f9c3672b0d9e" UnitId "hsc2hs-0.68.7-10d302c1916b874563c95b394fb5a7f170584c9d" UnitId "network-3.1.2.2-013c039640b05bd2117a95416bcdca33b7b3367f" UnitId "streaming-com_-0.2.2.1-1a5f83ffeee6d323509992053642cd55666993cb" UnitId "typed-process-0.2.6.3-418723a96dd5f943267cc9858332c0a02fae112b" UnitId "conduit-extra-1.3.5-178594349d6a21c82f61462768b9b351cb98807d" UnitId "parsers-0.12.10-0870e480256335fe4f4005055808b4bc0227a92e" UnitId "safe-exceptio_-0.1.7.2-cc54867ed7cbbd890300a03a1a6e3cb5f35147a0" UnitId "conduit-parse-0.2.1.0-6fd71402cfc6e45be31427124420e60065d3dc83" UnitId "type-equality-1-74f55167de798ae7484faabaf2d6c65e1438950c" UnitId "constraints-0.13-af3089f719680b7134639b73975fdd1a2c9f25d2" UnitId "constraints-e_-0.3.1.0-a77adcd2d8fc6da6f54aa3239988570e8fad0dbc" UnitId "constraints-e_-0.3.1.0-a9608c5735d552facea8e410e582baf821121048" UnitId "polyparse-1.13-c07e305168f59e76f160d00db5e80d7b14104ac9" UnitId "cpphs-1.20.9.1-565cdfb9b254a470b32fcfcd6e6c7a6dea7e298f" UnitId "cpphs-1.20.9.1-e096827f3be5b2fce1a045f19a22a561d341595a" UnitId "cryptohash-md5-0.11.10_-e4052877261984b6b099e3ed65712e3fd20d9fee" UnitId "cryptohash-sh_-0.11.10_-5232bdac1213e2f98a3b5f246cf42071f2e6097a" UnitId "fast-math-1.0.2-e174fd2cf6bad63bc10d3c6ea78ae6ea096f75ea" UnitId "integration-0.2.1-8ed325e90a421b4b08b1d842f7fd012660feef13" UnitId "matrices-0.5.0-4c053697bffd44e236a097fed6c330bdeb2b6df3" UnitId "microlens-mtl-0.2.0.1-be74b44ba44dc90000bc40a631f9c95ac0dfcb5b" UnitId "vector-space-0.16-f974b84daed37a64c2b73107283e0e34f1abb880" UnitId "cubicbezier-0.6.0.6-755bb31d62645a22a51cbee1917580ee8e3e748b" UnitId "data-default-_-0.0.1-27674bd8e612bd1332aa123429d28e351da1dec9" UnitId "data-default-_-0.0.1-a65e0a093c3524da303b56674bc763825dcfaace" UnitId "data-default-_-0.0.1-ea8168fa008bd75f96c8ed6b96a7bfb3d1bb2ef4" UnitId "data-default-0.7.1.1-c0356ba349434915d2fc066f51fd8c14ca89a011" UnitId "some-1.0.2-a1676692abf9e899fecc3b22f2f24520aa8dad3c" UnitId "dependent-sum-0.7.1.0-a4700e23a1552eadfceb79caa40d07249372451b" UnitId "dependent-map-0.4.0.0-9205aee21836a5f35735b62f68d733d8f87fd071" UnitId "th-extras-0.0.0.4-2e3d053a410af8782cb7a1fabb084a10cb29782e" UnitId "dependent-sum_-0.1.0.3-908e552b2b5fab2bfab2ec0a6cea4ff42dd7b855" UnitId "force-layout-0.4.0.6-715889b5c4b4f06c363f04edd9a9634163cf6f75" UnitId "mtl-compat-0.2.2-bf124cdd5a2738e74ba0699fea5a340648aef65d" UnitId "mfsolve-0.3.2.0-78533e2e0ea461baa7398c27fb60eafff870a287" UnitId "diagrams-cont_-1.4.4-97226d976df838920f343cc28b5583d7e19df156" UnitId "direct-sqlite-2.3.26-c58947313df7ccb348b0aa7e6ae241dfb4a16fb2" UnitId "entropy-0.4.1.6-9807b8577c7b2073e1060287d658af01e52ca8e2" UnitId "file-embed-0.0.15.0-a0381fe3427b10cfee4ac5a1c653adc30438bc8e" UnitId "filepattern-0.1.2-d2e58794f6cc9bc2a1a9fb339096084b9c6cf3e8" UnitId "floatshow-0.2.4-d05885988d4c13cce7e0d0a3b1d6e769c5ac94eb" UnitId "happy-1.20.0-d12ac16aeb114015932dee7ce9466d0a48372cb6" UnitId "haskell-src-e_-1.23.1-e7f4e29c4dddc4f189b8bea3fcd5940a8ca3d814" UnitId "psqueues-0.2.7.2-7239c562f7b858c5249d9410dacf3e8a935181ad" UnitId "monad-dijkstra-0.1.1.3-aafbbfe17d19a240f7e9ff0116d80e5180def4ed" UnitId "utf8-string-1.0.2-7d995ac81704555e1a77fa761780fa22e72aafbc" UnitId "floskell-0.10.5-29a69ae9aee7e9e5a62de4e0941c0844b8bc4cc1" UnitId "floskell-0.10.5-0a0075693fed06a62e9406d6c99184c68f993089" UnitId "foldl-1.4.12-960fbe3b5513df5bf3876abf7701a836f7f1d459" UnitId "ghc-lib-parser-8.10.7._-e105397607faf5d14b437919d4847efae7e2cf97" UnitId "fourmolu-0.3.0.0-622ed5a2824f7bd6a602b93ce9d2a69dba19e212" UnitId "gitrev-1.3.1-efe84b1ded96a27b3615b4851e57323804f77d6c" UnitId "fourmolu-0.3.0.0-a3200f845bd117c262ddcfe67ff1ee0889fbeae3" UnitId "primes-0.2.1.0-0fd7efdea5d8d154cea1b683760df77ba8faa5c3" UnitId "monoid-subcla_-1.1.1-46358cc756f43a13dc5dc3ab988130f0472c5311" UnitId "fuzzy-0.1.0.1-dd6967d4f0277ab27a8a8553a51f90c1d861aff8" UnitId "indexed-profu_-0.1.1-0bcb0dca4d3afa5de7945d5ec1bb428f8805ecbe" UnitId "generic-lens-_-2.2.0.0-daeae64c6997089eeeb9ef5e6c6ddc4e522e0cc1" UnitId "generic-lens-2.2.0.0-2cb55d6b04b0233048ff27712d972549605197d3" UnitId "th-compat-0.1.3-05f9b6c3c5741b2344a03ede1e384792bfec83a8" UnitId "ghc-check-0.5.0.6-0db4e908c012e9d8e6b9eaad276e8c5960b9ac62" UnitId "ghc-lib-parse_-8.10.0._-bdf5d96e9c639f17b3aad35b93cfe09a2410ebf8" UnitId "ghc-source-gen-0.4.2.0-feff665e8d9f3e0606664fe53b01d6e0497b0909" UnitId "ghc-tcplugins_-0.4.2-33375857c7a5c68e3b031ab122c0853ac86652e8" UnitId "ghc-trace-eve_-0.1.2.3-ce54879b891c91669f67bb27896a47764479be4b" UnitId "ghc-typelits-_-0.7.6-71640c7a4d50412e25392f017096e5e0eeec7527" UnitId "ghc-typelits-_-0.7.6-231b260ede960de8c0e888edb8deca00c73d7a34" UnitId "haddock-libra_-1.10.0-5ea510fff8de22136ebc4b67168b042eea2f5cf7" UnitId "hashtables-1.2.4.1-aa487e0aeb553bb19b1b0c1b5b114e9ea9a54062" UnitId "heapsize-0.3.0.1-0ab8663c2e2087c925a9ecf073fcc6f42ba894e6" UnitId "network-bsd-2.8.1.0-e4be9c07721a13ce6dc0c93e2fdf20a4c4a770ad" UnitId "hslogger-1.3.1.0-d77538e9e1aead3e15a209c8b236505b8626d43a" UnitId "temporary-1.3-5ec005870c8ca3fa414bc681f6d506c4dfd3f4a7" UnitId "hie-bios-0.7.6-72425099e5045851b76bf1c44ce611ffd70ee1ab" UnitId "hie-compat-0.2.1.0-inplace" UnitId "mmorph-1.2.0-0a135166bafac4808fa38b6c85924dfbaf280008" UnitId "lucid-2.9.12.1-1cf9627c8dff0fcc28aa702f00b94f9125afe28e" UnitId "sqlite-simple-0.4.18.0-5f9849281eba07af429b821fd9b9f23c20d8dcb7" UnitId "terminal-size-0.3.2.1-7a7d09b177e91c3c6bc6bff5388acc6c3955f544" UnitId "hiedb-0.4.1.0-inplace" UnitId "js-dgtable-0.5.2-2595a339d8e85988401b44e6eb9a3f4f674f1f3d" UnitId "js-flot-0.8.3-8f1a0c0a2e894f81955fc784aa4b373f992f7437" UnitId "js-jquery-3.3.1-3bd015a6c41a29d671ddf2ad34efef3eba05c6cb" UnitId "hls-graph-1.5.0.0-inplace" UnitId "network-uri-2.6.4.1-baa66ab056862dca9d337913f81e4ab7a37a2b37" UnitId "rope-utf16-sp_-0.3.2.0-a1c21419f869ca6620b0685d385736bbc4ba2305" UnitId "lsp-types-1.3.0.1-d8e392f2fdd39c21df8e146b14481cce050a68d7" UnitId "sorted-list-0.2.1.0-40c74f102354025e513f33cd852c6fea83fb3ef0" UnitId "network-info-0.2.0.10-3d2efa741d7c13660d4d031745a9aa0a38f72b7f" UnitId "uuid-1.3.15-80353e140362ef6717dbc3e4231e48f5362414e0" UnitId "lsp-1.2.0.1-b3d114f1b983a692600756e8717b66b76b04dfad" UnitId "opentelemetry-0.7.0-740692daad2a38a58dd3796db446a2a5984ce653" UnitId "regex-base-0.94.0.1-dffb667229ad4bc71327b4e9f1e12f2cdaff3b02" UnitId "regex-tdfa-1.3.1.1-b3abc10db04beedee061122b0f654d72c6c3cf74" UnitId "hls-plugin-api-1.2.0.1-inplace" UnitId "implicit-hie-0.1.2.6-52dd6e1b248a8403ae13d3155f3f6889f80d713f" UnitId "implicit-hie-_-0.3.0.5-8416796625346ff53d06bd9ff36a7935059fb088" UnitId "prettyprinter-1.7.1-7928de385db75ca520220d0b515cb8f2edd4f4d4" UnitId "prettyprinter_-1.1.3-21a227a469f9de1d8124384e67a2a972224d7245" UnitId "random-shuffle-0.0.4-57d06b0fe630ccf0bbebc38746de2181a3488492" UnitId "retrie-1.0.0.0-9d5ed7e8e8eda89f6aacf6a83e03a89d102f25d8" UnitId "unliftio-0.2.20-85939aa92e0fd4ef6f82a23183508cc4659c69a1" UnitId "ghcide-1.4.2.3-inplace" UnitId "ghcide-1.4.2.3-inplace-ghcide" UnitId "parser-combin_-1.3.0-8cb32c83e2224702d7c1a2df52944d2af39eb5b9" UnitId "lsp-test-0.14.0.1-ec7bdba3e91e6df344c65e1d315489b8322c7477" UnitId "heaps-0.4-7e43eef8c25721ea57b9b3b86bda1098bfc83b62" UnitId "shake-0.19.6-4506b7d898349189c8506b37a96e9a6e76513c6d" UnitId "ghcide-1.4.2.3-inplace-ghcide-bench" UnitId "hp2pretty-0.10-8b815c9725ea46cde441ff20f5c5973df8e0c552" UnitId "implicit-hie-0.1.2.6-34ba223fceba042919494502b812b07137e39784" UnitId "shake-bench-0.1.0.2-inplace" UnitId "ghcide-1.4.2.3-inplace-benchHist" UnitId "ghcide-1.4.2.3-inplace-ghcide-test-preprocessor" UnitId "old-time-1.1.0.3-ea3556a0fd74a1a3491a08b91b4d2401c81be299" UnitId "quickcheck-in_-0.3.25.2-6a96c1b88fd995251caab8460bcabc2d3103d0ae" UnitId "record-dot-pr_-0.2.12-e2e1eba5824a3f8b233d0cc6e9e852394d96cfe4" UnitId "record-hasfie_-1.0-e1eee67c0a60cd272091495c0a39d5cf06c5c36d" UnitId "unbounded-del_-0.1.1.1-9efc47405d37747fd55e5fb2775a81d1f70f47f0" UnitId "tasty-1.4.2-1f397c3b6e95f86bf1365affd87fbbabc735f2b5" UnitId "tasty-expecte_-0.12.3-e1e94a0f88972cd74a2e7ce674de1aac30170629" UnitId "tasty-hunit-0.10.0.3-5a7302c4d5460b7ea7dfd6fa2f67473c6d2b479b" UnitId "tasty-quickch_-0.10.1.2-b952135318535b69920d20e68bf9bf9d23bca61c" UnitId "tasty-rerun-1.1.18-d83b3c48c4af756222651e07c08752fe0128e369" UnitId "ghcide-1.4.2.3-inplace-ghcide-tests" UnitId "githash-0.1.6.2-b63c7b081ae8428b4ae100315e6cb1940f70dcb0" UnitId "optparse-simp_-0.1.1.4-9cd7cb5c996c3ca4aad6f17195a62a60f7112328" UnitId "haskell-language-server-1.4.0.0-inplace" UnitId "hls-brittany-plugin-1.0.1.0-inplace" UnitId "hls-call-hierarchy-plugin-1.0.1.0-inplace" UnitId "hls-class-plugin-1.0.1.0-inplace" UnitId "megaparsec-9.2.0-a6f614f55eeada4aba7c80932883ccbf392c2d01" UnitId "pretty-simple-4.0.0.0-d869807c42f53fe5a20775cb4937cd34eb9bfcdf" UnitId "hls-eval-plugin-1.1.2.0-inplace" UnitId "hls-explicit-imports-plugin-1.0.1.0-inplace" UnitId "hls-floskell-plugin-1.0.0.1-inplace" UnitId "hls-fourmolu-plugin-1.0.1.0-inplace" UnitId "hls-haddock-comments-plugin-1.0.0.3-inplace" UnitId "hscolour-1.24.4-e7684a594b1f7804136685c4163d6dd4618ba759" UnitId "hlint-3.2.7-981fe7a72492513f3ded896262bc266a76d911ae" UnitId "hls-hlint-plugin-1.0.1.1-inplace" UnitId "hls-module-name-plugin-1.0.0.1-inplace" UnitId "ormolu-0.1.4.1-c0f9b39a78ca976f2d709f13601aab23fea37c6c" UnitId "hls-ormolu-plugin-1.0.1.0-inplace" UnitId "hls-pragmas-plugin-1.0.1.0-inplace" UnitId "hls-refine-imports-plugin-1.0.0.1-inplace" UnitId "hls-retrie-plugin-1.0.1.2-inplace" UnitId "hls-splice-plugin-1.0.0.4-inplace" UnitId "stylish-haske_-0.13.0.0-50b5873c671b81803721b0f6169c278534907697" UnitId "hls-stylish-haskell-plugin-1.0.0.2-inplace" UnitId "hyphenation-0.8.2-ccbef8cb377161f5a282822c59ad37936050972b" UnitId "refinery-0.4.0.0-a6e28466c7377734988f82188eb9df3fa3711e2d" UnitId "unagi-chan-0.4.1.3-6d0e12f454f5f1555f70650e1fad3bea3d01d924" UnitId "hls-tactics-plugin-1.4.0.0-inplace" UnitId "haskell-language-server-1.4.0.0-inplace-haskell-language-server" UnitId "hspec-expecta_-0.8.2-45a9dd110a15ddfe2c657b0153e86997d870a73a" UnitId "quickcheck-io-0.2.0-0dc13bf8050191a0517d95a46e7d9766ab52f876" UnitId "setenv-0.1.1.3-53dcd7111b093cfa3de6f1a15ba86ad2ce4837a4" UnitId "tf-random-0.5-5e109d0498847052f8c49eff0c416ef165ab2303" UnitId "hspec-core-2.7.10-2ee3225a6d26515073c3106957d76ce690a81c9f" UnitId "hspec-discover-2.7.10-a934e108ee970fa1e9518c49230cd98dd1734ae6" UnitId "hspec-2.7.10-1f605e642492902ce07e5c7a1ad52980f1776c48" UnitId "tasty-golden-2.3.4-f45869a478dce6983ae415cdb0eb1a383665079a" UnitId "hls-test-utils-1.1.0.0-inplace" UnitId "haskell-language-server-1.4.0.0-inplace-func-test" UnitId "haskell-language-server-1.4.0.0-inplace-haskell-language-server-wrapper" UnitId "haskell-language-server-1.4.0.0-inplace-wrapper-test" UnitId "hie-bios-0.7.6-6139391e8d880d394fb1c7223e6f55b12fce6648" UnitId "hiedb-0.4.1.0-inplace-hiedb" UnitId "hlint-3.2.7-fe4cc4806f771f5a9a1634cb2c31293925dedd7c" UnitId "hls-brittany-plugin-1.0.1.0-inplace-tests" UnitId "hls-call-hierarchy-plugin-1.0.1.0-inplace-tests" UnitId "hls-class-plugin-1.0.1.0-inplace-tests" UnitId "hls-eval-plugin-1.1.2.0-inplace-tests" UnitId "hls-floskell-plugin-1.0.0.1-inplace-tests" UnitId "hls-fourmolu-plugin-1.0.1.0-inplace-tests" UnitId "hls-haddock-comments-plugin-1.0.0.3-inplace-tests" UnitId "hls-module-name-plugin-1.0.0.1-inplace-tests" UnitId "hls-ormolu-plugin-1.0.1.0-inplace-tests" UnitId "hls-pragmas-plugin-1.0.1.0-inplace-tests" UnitId "hls-refine-imports-plugin-1.0.0.1-inplace-tests" UnitId "hls-rename-plugin-1.0.0.0-inplace" UnitId "hls-rename-plugin-1.0.0.0-inplace-tests" UnitId "hls-splice-plugin-1.0.0.4-inplace-tests" UnitId "hls-stylish-haskell-plugin-1.0.0.2-inplace-tests" UnitId "hspec-discover-2.7.10-b99a747686943d390fb9623d6ffefec5128d0bad" UnitId "logict-0.7.0.3-541b495bba210f68c4cd09e8f5389d774602bc5b" UnitId "smallcheck-1.2.1-247922f613ada0dfddb02e1c66016e061a412e4b" UnitId "tasty-smallch_-0.8.2-82de726cbde5655bcca44f84588981f0f169beaa" UnitId "tasty-hspec-1.2-ea81519f52e2c8d898101168f909a550eeeaab27" UnitId "hls-tactics-plugin-1.4.0.0-inplace-tests" UnitId "operational-0.2.4.0-5fd69ef7a9de3a9f777787d3c3912956614e6d89" UnitId "ormolu-0.1.4.1-4ef69e6b78d26a089669fb4613ce7d9478ba9272" UnitId "record-dot-pr_-0.2.12-7aaf399abf67cdc8fcfc5c51b9e4030dc13277b9" UnitId "retrie-1.0.0.0-4ed181b107ad853dbd38a25ed95d37c7d3b4ffb1" UnitId "retrie-1.0.0.0-ada3f22b2a55a3c70bc5be5e335c57c4695d5481" UnitId "shake-0.19.6-0f1373f848213b6eb7491b11fca0c903e415a78e" UnitId "stylish-haske_-0.13.0.0-99694cddb8afa94ae880fa742d3ca4a0a0937fbe" Direct deps ~~~~~~~~~~~ PkgId (PkgName "ghcide") (Ver [1,4,2,3]) CompNameLib Diff-0.4.0 Glob-0.10.1 Win32-2.6.2.1 aeson-1.5.6.0 aeson-pretty-0.8.8 array-0.5.4.0 async-2.2.3 base-4.14.3.0 base16-bytestring-1.0.1.0 binary-0.8.8.0 bytestring-0.10.12.0 bytestring-encoding-0.1.1.0 case-insensitive-1.2.1.0 containers-0.6.5.1 cryptohash-sha1-0.11.100.1 data-default-0.7.1.1 deepseq-1.4.4.0 dependent-map-0.4.0.0 dependent-sum-0.7.1.0 directory-1.3.6.0 dlist-1.0 exceptions-0.10.4 extra-1.7.9 filepath-1.4.2.1 fingertree-0.1.4.2 fuzzy-0.1.0.1 ghc-8.10.7 ghc-boot-8.10.7 ghc-boot-th-8.10.7 ghc-check-0.5.0.6 ghc-exactprint-0.6.4 ghc-paths-0.1.0.12 ghc-trace-events-0.1.2.3 haddock-library-1.10.0 hashable-1.3.4.1 heapsize-0.3.0.1 hie-bios-0.7.6 hie-compat-0.2.1.0 hiedb-0.4.1.0 hls-graph-1.5.0.0 hls-plugin-api-1.2.0.1 hslogger-1.3.1.0 implicit-hie-cradle-0.3.0.5 lens-5.0.1 lsp-1.2.0.1 lsp-types-1.3.0.1 monoid-subclasses-1.1.1 mtl-2.2.2 network-uri-2.6.4.1 opentelemetry-0.7.0 optparse-applicative-0.16.1.0 parallel-3.2.2.0 prettyprinter-1.7.1 prettyprinter-ansi-terminal-1.1.3 regex-tdfa-1.3.1.1 retrie-1.0.0.0 rope-utf16-splay-0.3.2.0 safe-0.3.19 safe-exceptions-0.1.7.2 sorted-list-0.2.1.0 sqlite-simple-0.4.18.0 stm-2.5.0.1 syb-0.7.2.1 text-1.2.4.1 time-1.9.3 transformers-0.5.6.2 unliftio-0.2.20 unliftio-core-0.2.0.1 unordered-containers-0.2.14.0 utf8-string-1.0.2 vector-0.12.3.1 vector-algorithms-0.8.0.4 PkgId (PkgName "ghcide") (Ver [1,4,2,3]) CompNameBench "benchHist" aeson-1.5.6.0 base-4.14.3.0 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 lens-5.0.1 optparse-applicative-0.16.1.0 shake-0.19.6 shake-bench-0.1.0.2 text-1.2.4.1 yaml-0.11.6.0 PkgId (PkgName "ghcide") (Ver [1,4,2,3]) CompNameExe "ghcide" aeson-1.5.6.0 base-4.14.3.0 data-default-0.7.1.1 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 ghc-8.10.7 ghcide-1.4.2.3 gitrev-1.3.1 hashable-1.3.4.1 heapsize-0.3.0.1 hie-bios-0.7.6 hiedb-0.4.1.0 hls-graph-1.5.0.0 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 lsp-types-1.3.0.1 optparse-applicative-0.16.1.0 safe-exceptions-0.1.7.2 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "ghcide") (Ver [1,4,2,3]) CompNameExe "ghcide-bench" aeson-1.5.6.0 base-4.14.3.0 bytestring-0.10.12.0 containers-0.6.5.1 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 ghcide-1.4.2.3 hls-graph-1.5.0.0 lens-5.0.1 lsp-test-0.14.0.1 lsp-types-1.3.0.1 optparse-applicative-0.16.1.0 process-1.6.13.2 safe-exceptions-0.1.7.2 shake-0.19.6 text-1.2.4.1 PkgId (PkgName "ghcide") (Ver [1,4,2,3]) CompNameExe "ghcide-test-preprocessor" base-4.14.3.0 PkgId (PkgName "ghcide") (Ver [1,4,2,3]) CompNameTest "ghcide-tests" QuickCheck-2.14.2 aeson-1.5.6.0 async-2.2.3 base-4.14.3.0 binary-0.8.8.0 bytestring-0.10.12.0 containers-0.6.5.1 data-default-0.7.1.1 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 ghc-8.10.7 ghc-typelits-knownnat-0.7.6 ghcide-1.4.2.3 haddock-library-1.10.0 hls-graph-1.5.0.0 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 lsp-test-0.14.0.1 lsp-types-1.3.0.1 network-uri-2.6.4.1 optparse-applicative-0.16.1.0 process-1.6.13.2 quickcheck-instances-0.3.25.2 record-dot-preprocessor-0.2.12 record-hasfield-1.0 regex-tdfa-1.3.1.1 rope-utf16-splay-0.3.2.0 safe-0.3.19 safe-exceptions-0.1.7.2 shake-0.19.6 tasty-1.4.2 tasty-expected-failure-0.12.3 tasty-hunit-0.10.0.3 tasty-quickcheck-0.10.1.2 tasty-rerun-1.1.18 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "haskell-language-server") (Ver [1,4,0,0]) CompNameLib aeson-pretty-0.8.8 async-2.2.3 base-4.14.3.0 base16-bytestring-1.0.1.0 bytestring-0.10.12.0 containers-0.6.5.1 cryptohash-sha1-0.11.100.1 data-default-0.7.1.1 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 ghc-8.10.7 ghcide-1.4.2.3 gitrev-1.3.1 hie-bios-0.7.6 hiedb-0.4.1.0 hls-graph-1.5.0.0 hls-plugin-api-1.2.0.1 hslogger-1.3.1.0 lsp-1.2.0.1 optparse-applicative-0.16.1.0 optparse-simple-0.1.1.4 process-1.6.13.2 safe-exceptions-0.1.7.2 sqlite-simple-0.4.18.0 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "haskell-language-server") (Ver [1,4,0,0]) CompNameTest "func-test" aeson-1.5.6.0 base-4.14.3.0 bytestring-0.10.12.0 containers-0.6.5.1 data-default-0.7.1.1 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 hls-test-utils-1.1.0.0 hspec-expectations-0.8.2 lens-5.0.1 lsp-test-0.14.0.1 lsp-types-1.3.0.1 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "haskell-language-server") (Ver [1,4,0,0]) CompNameExe "haskell-language-server" aeson-1.5.6.0 async-2.2.3 base-4.14.3.0 base16-bytestring-1.0.1.0 binary-0.8.8.0 bytestring-0.10.12.0 containers-0.6.5.1 cryptohash-sha1-0.11.100.1 deepseq-1.4.4.0 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 ghc-8.10.7 ghc-boot-th-8.10.7 ghcide-1.4.2.3 hashable-1.3.4.1 haskell-language-server-1.4.0.0 hie-bios-0.7.6 hiedb-0.4.1.0 hls-brittany-plugin-1.0.1.0 hls-call-hierarchy-plugin-1.0.1.0 hls-class-plugin-1.0.1.0 hls-eval-plugin-1.1.2.0 hls-explicit-imports-plugin-1.0.1.0 hls-floskell-plugin-1.0.0.1 hls-fourmolu-plugin-1.0.1.0 hls-graph-1.5.0.0 hls-haddock-comments-plugin-1.0.0.3 hls-hlint-plugin-1.0.1.1 hls-module-name-plugin-1.0.0.1 hls-ormolu-plugin-1.0.1.0 hls-plugin-api-1.2.0.1 hls-pragmas-plugin-1.0.1.0 hls-refine-imports-plugin-1.0.0.1 hls-retrie-plugin-1.0.1.2 hls-splice-plugin-1.0.0.4 hls-stylish-haskell-plugin-1.0.0.2 hls-tactics-plugin-1.4.0.0 hslogger-1.3.1.0 lens-5.0.1 lsp-1.2.0.1 mtl-2.2.2 optparse-applicative-0.16.1.0 regex-tdfa-1.3.1.1 safe-exceptions-0.1.7.2 sqlite-simple-0.4.18.0 temporary-1.3 text-1.2.4.1 transformers-0.5.6.2 unordered-containers-0.2.14.0 PkgId (PkgName "haskell-language-server") (Ver [1,4,0,0]) CompNameExe "haskell-language-server-wrapper" base-4.14.3.0 data-default-0.7.1.1 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 ghc-8.10.7 ghc-paths-0.1.0.12 ghcide-1.4.2.3 gitrev-1.3.1 haskell-language-server-1.4.0.0 hie-bios-0.7.6 optparse-applicative-0.16.1.0 optparse-simple-0.1.1.4 process-1.6.13.2 text-1.2.4.1 PkgId (PkgName "haskell-language-server") (Ver [1,4,0,0]) CompNameTest "wrapper-test" base-4.14.3.0 directory-1.3.6.0 extra-1.7.9 hls-test-utils-1.1.0.0 process-1.6.13.2 PkgId (PkgName "hie-compat") (Ver [0,2,1,0]) CompNameLib array-0.5.4.0 base-4.14.3.0 bytestring-0.10.12.0 containers-0.6.5.1 directory-1.3.6.0 filepath-1.4.2.1 ghc-8.10.7 ghc-boot-8.10.7 transformers-0.5.6.2 PkgId (PkgName "hls-brittany-plugin") (Ver [1,0,1,0]) CompNameLib base-4.14.3.0 brittany-0.13.1.2 czipwith-1.0.1.3 extra-1.7.9 filepath-1.4.2.1 ghc-8.10.7 ghc-boot-th-8.10.7 ghc-exactprint-0.6.4 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-types-1.3.0.1 text-1.2.4.1 transformers-0.5.6.2 PkgId (PkgName "hls-brittany-plugin") (Ver [1,0,1,0]) CompNameTest "tests" base-4.14.3.0 filepath-1.4.2.1 hls-brittany-plugin-1.0.1.0 hls-test-utils-1.1.0.0 PkgId (PkgName "hls-call-hierarchy-plugin") (Ver [1,0,1,0]) CompNameLib aeson-1.5.6.0 base-4.14.3.0 bytestring-0.10.12.0 containers-0.6.5.1 extra-1.7.9 ghc-8.10.7 ghcide-1.4.2.3 hiedb-0.4.1.0 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 sqlite-simple-0.4.18.0 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "hls-call-hierarchy-plugin") (Ver [1,0,1,0]) CompNameTest "tests" aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 extra-1.7.9 filepath-1.4.2.1 hls-call-hierarchy-plugin-1.0.1.0 hls-test-utils-1.1.0.0 lens-5.0.1 lsp-1.2.0.1 lsp-test-0.14.0.1 text-1.2.4.1 PkgId (PkgName "hls-class-plugin") (Ver [1,0,1,0]) CompNameLib aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 ghc-8.10.7 ghc-exactprint-0.6.4 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 text-1.2.4.1 transformers-0.5.6.2 PkgId (PkgName "hls-class-plugin") (Ver [1,0,1,0]) CompNameTest "tests" base-4.14.3.0 filepath-1.4.2.1 hls-class-plugin-1.0.1.0 hls-test-utils-1.1.0.0 lens-5.0.1 lsp-types-1.3.0.1 PkgId (PkgName "hls-eval-plugin") (Ver [1,1,2,0]) CompNameLib Diff-0.4.0 QuickCheck-2.14.2 aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 deepseq-1.4.4.0 directory-1.3.6.0 dlist-1.0 extra-1.7.9 filepath-1.4.2.1 ghc-8.10.7 ghc-boot-th-8.10.7 ghc-paths-0.1.0.12 ghcide-1.4.2.3 hashable-1.3.4.1 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 lsp-types-1.3.0.1 megaparsec-9.2.0 mtl-2.2.2 parser-combinators-1.3.0 pretty-simple-4.0.0.0 safe-exceptions-0.1.7.2 temporary-1.3 text-1.2.4.1 time-1.9.3 transformers-0.5.6.2 unliftio-0.2.20 unordered-containers-0.2.14.0 PkgId (PkgName "hls-eval-plugin") (Ver [1,1,2,0]) CompNameTest "tests" aeson-1.5.6.0 base-4.14.3.0 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 hls-eval-plugin-1.1.2.0 hls-test-utils-1.1.0.0 lens-5.0.1 lsp-types-1.3.0.1 text-1.2.4.1 PkgId (PkgName "hls-explicit-imports-plugin") (Ver [1,0,1,0]) CompNameLib aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 deepseq-1.4.4.0 ghc-8.10.7 ghcide-1.4.2.3 hls-graph-1.5.0.0 hls-plugin-api-1.2.0.1 lsp-1.2.0.1 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "hls-floskell-plugin") (Ver [1,0,0,1]) CompNameLib base-4.14.3.0 floskell-0.10.5 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lsp-types-1.3.0.1 text-1.2.4.1 transformers-0.5.6.2 PkgId (PkgName "hls-floskell-plugin") (Ver [1,0,0,1]) CompNameTest "tests" base-4.14.3.0 filepath-1.4.2.1 hls-floskell-plugin-1.0.0.1 hls-test-utils-1.1.0.0 PkgId (PkgName "hls-fourmolu-plugin") (Ver [1,0,1,0]) CompNameLib base-4.14.3.0 filepath-1.4.2.1 fourmolu-0.3.0.0 ghc-8.10.7 ghc-boot-th-8.10.7 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 text-1.2.4.1 PkgId (PkgName "hls-fourmolu-plugin") (Ver [1,0,1,0]) CompNameTest "tests" base-4.14.3.0 filepath-1.4.2.1 hls-fourmolu-plugin-1.0.1.0 hls-test-utils-1.1.0.0 lsp-test-0.14.0.1 PkgId (PkgName "hls-graph") (Ver [1,5,0,0]) CompNameLib async-2.2.3 base-4.14.3.0 bytestring-0.10.12.0 containers-0.6.5.1 deepseq-1.4.4.0 directory-1.3.6.0 exceptions-0.10.4 extra-1.7.9 filepath-1.4.2.1 hashable-1.3.4.1 js-dgtable-0.5.2 js-flot-0.8.3 js-jquery-3.3.1 primitive-0.7.2.0 time-1.9.3 transformers-0.5.6.2 unordered-containers-0.2.14.0 PkgId (PkgName "hls-haddock-comments-plugin") (Ver [1,0,0,3]) CompNameLib base-4.14.3.0 containers-0.6.5.1 ghc-8.10.7 ghc-exactprint-0.6.4 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lsp-types-1.3.0.1 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "hls-haddock-comments-plugin") (Ver [1,0,0,3]) CompNameTest "tests" base-4.14.3.0 filepath-1.4.2.1 hls-haddock-comments-plugin-1.0.0.3 hls-test-utils-1.1.0.0 text-1.2.4.1 PkgId (PkgName "hls-hlint-plugin") (Ver [1,0,1,1]) CompNameLib Diff-0.4.0 aeson-1.5.6.0 apply-refact-0.9.3.0 base-4.14.3.0 binary-0.8.8.0 bytestring-0.10.12.0 containers-0.6.5.1 data-default-0.7.1.1 deepseq-1.4.4.0 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 ghc-8.10.7 ghc-exactprint-0.6.4 ghcide-1.4.2.3 hashable-1.3.4.1 hlint-3.2.7 hls-plugin-api-1.2.0.1 hslogger-1.3.1.0 lens-5.0.1 lsp-1.2.0.1 regex-tdfa-1.3.1.1 temporary-1.3 text-1.2.4.1 transformers-0.5.6.2 unordered-containers-0.2.14.0 PkgId (PkgName "hls-module-name-plugin") (Ver [1,0,0,1]) CompNameLib aeson-1.5.6.0 base-4.14.3.0 directory-1.3.6.0 filepath-1.4.2.1 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lsp-1.2.0.1 text-1.2.4.1 transformers-0.5.6.2 unordered-containers-0.2.14.0 PkgId (PkgName "hls-module-name-plugin") (Ver [1,0,0,1]) CompNameTest "tests" base-4.14.3.0 filepath-1.4.2.1 hls-module-name-plugin-1.0.0.1 hls-test-utils-1.1.0.0 PkgId (PkgName "hls-ormolu-plugin") (Ver [1,0,1,0]) CompNameLib base-4.14.3.0 filepath-1.4.2.1 ghc-8.10.7 ghc-boot-th-8.10.7 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 ormolu-0.1.4.1 text-1.2.4.1 PkgId (PkgName "hls-ormolu-plugin") (Ver [1,0,1,0]) CompNameTest "tests" base-4.14.3.0 filepath-1.4.2.1 hls-ormolu-plugin-1.0.1.0 hls-test-utils-1.1.0.0 lsp-types-1.3.0.1 PkgId (PkgName "hls-plugin-api") (Ver [1,2,0,1]) CompNameLib Diff-0.4.0 Win32-2.6.2.1 aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 data-default-0.7.1.1 dependent-map-0.4.0.0 dependent-sum-0.7.1.0 dlist-1.0 ghc-8.10.7 hashable-1.3.4.1 hls-graph-1.5.0.0 hslogger-1.3.1.0 lens-5.0.1 lsp-1.2.0.1 opentelemetry-0.7.0 optparse-applicative-0.16.1.0 process-1.6.13.2 regex-tdfa-1.3.1.1 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "hls-pragmas-plugin") (Ver [1,0,1,0]) CompNameLib base-4.14.3.0 extra-1.7.9 fuzzy-0.1.0.1 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 text-1.2.4.1 transformers-0.5.6.2 unordered-containers-0.2.14.0 PkgId (PkgName "hls-pragmas-plugin") (Ver [1,0,1,0]) CompNameTest "tests" base-4.14.3.0 filepath-1.4.2.1 hls-pragmas-plugin-1.0.1.0 hls-test-utils-1.1.0.0 lens-5.0.1 lsp-types-1.3.0.1 text-1.2.4.1 PkgId (PkgName "hls-refine-imports-plugin") (Ver [1,0,0,1]) CompNameLib aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 deepseq-1.4.4.0 ghc-8.10.7 ghcide-1.4.2.3 hls-explicit-imports-plugin-1.0.1.0 hls-graph-1.5.0.0 hls-plugin-api-1.2.0.1 lsp-1.2.0.1 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "hls-refine-imports-plugin") (Ver [1,0,0,1]) CompNameTest "tests" base-4.14.3.0 filepath-1.4.2.1 hls-refine-imports-plugin-1.0.0.1 hls-test-utils-1.1.0.0 text-1.2.4.1 PkgId (PkgName "hls-rename-plugin") (Ver [1,0,0,0]) CompNameLib base-4.14.3.0 containers-0.6.5.1 extra-1.7.9 ghc-8.10.7 ghc-exactprint-0.6.4 ghcide-1.4.2.3 hiedb-0.4.1.0 hls-plugin-api-1.2.0.1 hls-retrie-plugin-1.0.1.2 lsp-1.2.0.1 lsp-types-1.3.0.1 syb-0.7.2.1 text-1.2.4.1 transformers-0.5.6.2 PkgId (PkgName "hls-rename-plugin") (Ver [1,0,0,0]) CompNameTest "tests" base-4.14.3.0 filepath-1.4.2.1 hls-rename-plugin-1.0.0.0 hls-test-utils-1.1.0.0 PkgId (PkgName "hls-retrie-plugin") (Ver [1,0,1,2]) CompNameLib aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 deepseq-1.4.4.0 directory-1.3.6.0 extra-1.7.9 ghc-8.10.7 ghcide-1.4.2.3 hashable-1.3.4.1 hls-plugin-api-1.2.0.1 lsp-1.2.0.1 lsp-types-1.3.0.1 retrie-1.0.0.0 safe-exceptions-0.1.7.2 text-1.2.4.1 transformers-0.5.6.2 unordered-containers-0.2.14.0 PkgId (PkgName "hls-splice-plugin") (Ver [1,0,0,4]) CompNameLib aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 dlist-1.0 extra-1.7.9 foldl-1.4.12 ghc-8.10.7 ghc-exactprint-0.6.4 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 retrie-1.0.0.0 syb-0.7.2.1 text-1.2.4.1 transformers-0.5.6.2 unliftio-core-0.2.0.1 unordered-containers-0.2.14.0 PkgId (PkgName "hls-splice-plugin") (Ver [1,0,0,4]) CompNameTest "tests" base-4.14.3.0 filepath-1.4.2.1 hls-splice-plugin-1.0.0.4 hls-test-utils-1.1.0.0 text-1.2.4.1 PkgId (PkgName "hls-stylish-haskell-plugin") (Ver [1,0,0,2]) CompNameLib base-4.14.3.0 directory-1.3.6.0 filepath-1.4.2.1 ghc-8.10.7 ghc-boot-th-8.10.7 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lsp-types-1.3.0.1 stylish-haskell-0.13.0.0 text-1.2.4.1 PkgId (PkgName "hls-stylish-haskell-plugin") (Ver [1,0,0,2]) CompNameTest "tests" base-4.14.3.0 filepath-1.4.2.1 hls-stylish-haskell-plugin-1.0.0.2 hls-test-utils-1.1.0.0 PkgId (PkgName "hls-tactics-plugin") (Ver [1,4,0,0]) CompNameLib aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 deepseq-1.4.4.0 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 fingertree-0.1.4.2 generic-lens-2.2.0.0 ghc-8.10.7 ghc-boot-th-8.10.7 ghc-exactprint-0.6.4 ghc-source-gen-0.4.2.0 ghcide-1.4.2.3 hls-graph-1.5.0.0 hls-plugin-api-1.2.0.1 hyphenation-0.8.2 lens-5.0.1 lsp-1.2.0.1 megaparsec-9.2.0 mtl-2.2.2 parser-combinators-1.3.0 prettyprinter-1.7.1 refinery-0.4.0.0 retrie-1.0.0.0 syb-0.7.2.1 text-1.2.4.1 transformers-0.5.6.2 unagi-chan-0.4.1.3 unordered-containers-0.2.14.0 PkgId (PkgName "hls-tactics-plugin") (Ver [1,4,0,0]) CompNameTest "tests" QuickCheck-2.14.2 aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 deepseq-1.4.4.0 directory-1.3.6.0 filepath-1.4.2.1 ghc-8.10.7 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 hls-tactics-plugin-1.4.0.0 hls-test-utils-1.1.0.0 hspec-2.7.10 hspec-expectations-0.8.2 lens-5.0.1 lsp-types-1.3.0.1 mtl-2.2.2 tasty-hspec-1.2 tasty-hunit-0.10.0.3 text-1.2.4.1 PkgId (PkgName "hls-test-utils") (Ver [1,1,0,0]) CompNameLib aeson-1.5.6.0 async-2.2.3 base-4.14.3.0 blaze-markup-0.8.2.8 bytestring-0.10.12.0 containers-0.6.5.1 data-default-0.7.1.1 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 ghcide-1.4.2.3 hls-graph-1.5.0.0 hls-plugin-api-1.2.0.1 hspec-2.7.10 hspec-core-2.7.10 lens-5.0.1 lsp-1.2.0.1 lsp-test-0.14.0.1 lsp-types-1.3.0.1 tasty-1.4.2 tasty-expected-failure-0.12.3 tasty-golden-2.3.4 tasty-hunit-0.10.0.3 tasty-rerun-1.1.18 temporary-1.3 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "shake-bench") (Ver [0,1,0,2]) CompNameLib Chart-1.9.3 Chart-diagrams-1.9.3 aeson-1.5.6.0 base-4.14.3.0 diagrams-contrib-1.4.4 diagrams-core-1.5.0 diagrams-lib-1.4.4 diagrams-svg-1.4.3 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 shake-0.19.6 text-1.2.4.1 ```

cabal plan after cabal install

cabal-plan output ``` using 'D:\hls' as project root Top-sorted ~~~~~~~~~~ UnitId "rts" UnitId "ghc-prim-0.6.1" UnitId "integer-gmp-1.0.3.0" UnitId "base-4.14.3.0" UnitId "Boolean-0.2.4-ae22bf8d10bd7cda26fdb5ef0d6d01ba66b42feb" UnitId "array-0.5.4.0" UnitId "deepseq-1.4.4.0" UnitId "bytestring-0.10.12.0" UnitId "filepath-1.4.2.1" UnitId "Win32-2.6.2.1" UnitId "containers-0.6.5.1" UnitId "binary-0.8.8.0" UnitId "time-1.9.3" UnitId "directory-1.3.6.0" UnitId "transformers-0.5.6.2" UnitId "mtl-2.2.2" UnitId "ghc-boot-th-8.10.7" UnitId "pretty-1.1.3.6" UnitId "template-haskell-2.16.0.0" UnitId "text-1.2.4.1" UnitId "parsec-3.1.14.0" UnitId "process-1.6.13.2" UnitId "Cabal-3.2.1.0" UnitId "colour-2.3.6-27894d73f20e8384bb09ce5750819bccda2c65cc" UnitId "data-default-_-0.1.2.0-032506f3823413cc0318c62af5504fd4de4cd6e9" UnitId "base-orphans-0.8.5-6cc8636bc787d64c6c65144913d811cbc01169ad" UnitId "tagged-0.8.6.1-b96701fdedd6d182b9ebb7472a6a9d70ff1b71dd" UnitId "distributive-0.6.2.1-a505221266e34a0667f247d6367491f3f46ff1bc" UnitId "indexed-trave_-0.1.1-c18a7628e1a200dc3e5f08338ef7f3b51babf307" UnitId "transformers-_-0.6.6-575ec417087ff4ac4b43a47b96c18fef6f664798" UnitId "comonad-5.0.8-75d3909419d117ed25aeb4a64f77b1f99e388bb6" UnitId "th-abstraction-0.4.3.0-a0c6560cffc1663c5afe4ee21f4ce205974b5480" UnitId "bifunctors-5.5.11-d8a19283e025ee3db84e95be4e7fd886a6142e98" UnitId "assoc-1.0.2-c9443d7fb019ca3cc0d05b11bb10b8f24799bb4b" UnitId "call-stack-0.4.0-1e5a431d48a85a8d47c3cfe4e991ff32e99a57a6" UnitId "stm-2.5.0.1" UnitId "StateVar-1.2.2-7bd11e17cfe2cd175f98a2c8ae158b314d7cae71" UnitId "contravariant-1.5.5-31df31cd2eb56743282e644ec4d30b41f47d1fd3" UnitId "exceptions-0.10.4" UnitId "profunctors-5.6.2-820783b3d43feeb9e7c0e051c74654bc8641787b" UnitId "hashable-1.3.4.1-806b938e072fcef83e9a70da9a70f33c32b1aaff" UnitId "unordered-con_-0.2.14.0-cb9033c2448173442480895a0c7b5e1a0cf9a39f" UnitId "semigroupoids-5.3.5-fe340876b817909b73db3527c5ecd07479983177" UnitId "transformers-_-0.4.6-96f58c8c5d34a43e0b3656713c8dd9d6c97b2eae" UnitId "free-5.1.7-ca6ffbe6a1c14ef3b7f4848fce9643574f7ce22a" UnitId "primitive-0.7.2.0-449408de6a03a85de18641cfb7162ab5e5740368" UnitId "vector-0.12.3.1-7c09cacd7f17fecd0d3d4299462748ae9ae39163" UnitId "indexed-trave_-0.1-38edf976c6bedbbb05afc7f81c9ce941ee4f2fb0" UnitId "semigroups-0.19.2-41485001484fbf58f6661b37eccb1b0da6fca77e" UnitId "void-0.7.3-cb19afa96efc95da9495d02f35189e05a3af2e5e" UnitId "adjunctions-4.4-5e4dd342ba407a8f2b21bca6a68d36e435251780" UnitId "invariant-0.5.4-08f0fa9bc8e40f464759125b94860a85740c0af5" UnitId "kan-extensions-5.2.3-35a76e4fb11faeb573cc31d3f929248e2cc52fe9" UnitId "parallel-3.2.2.0-db114101092b8d87ae8f88e62d1ac6e21e8f0adb" UnitId "reflection-2.1.6-8a4ccc55fc1809feaa474d40a48ecf0805a8c247" UnitId "these-1.1.1.1-96c767e2741282434f58d17c2f3e34eb198bc540" UnitId "strict-0.4.0.1-69344cad55dc9d26f8a938154b897ed900158035" UnitId "lens-5.0.1-23e1c992c06f58ea5e03a698aeebebd4c569ed55" UnitId "old-locale-1.0.0.7-2c1b7e1186dc038bb902dfd3f9667124789a1081" UnitId "operational-0.2.4.0-9487ca4fe99c136108d144e491c4ea73af4172b1" UnitId "Chart-1.9.3-6767f12e7bd78ce05bdcaa384c84b301ca7453bb" UnitId "integer-logar_-1.0.3.1-b5c240921a9606ade978a24ee6ed522273875ed9" UnitId "scientific-0.3.7.0-86def7930c05e7858d04c3d0a97edd30fbb5230d" UnitId "attoparsec-0.13.2.5-5b61fc510d6a53e310548f93a6ca69d4dc18252a" UnitId "blaze-builder-0.4.2.1-8b3775498f5104e2cc524da52a7f7711d31f063c" UnitId "blaze-markup-0.8.2.8-f16e04667a9187760ef347f7ab0e92e829a41e63" UnitId "blaze-svg-0.3.6.1-a30db0d0bf2253dc6db6ddc715a6f52b11f1f769" UnitId "cereal-0.5.8.1-03289917e2ab04d4cc252be1f4f3f08a7c4426ab" UnitId "cereal-vector-0.2.0.1-654661ead912ca80a085f8d836f2dc16c6d79c93" UnitId "groups-0.5.3-897c8d1f4b108d8cfdb40ef9d464993b76c4b59d" UnitId "monoid-extras-0.6-c78e4a91bbef5cee20fdbd0f130855c854b4dda5" UnitId "newtype-gener_-0.6-2510f544aaed81a1edc1b3197e62b733f286f00d" UnitId "dual-tree-0.2.3.0-bce925227c447b22ece1df4b2f5213a20349d30c" UnitId "binary-orphans-1.0.1-65f8c8cd78b632af3d1ae7e2628adc81ba405a3c" UnitId "bytes-0.17.1-904d39f7217fee30f5abdcc2adb3694651aa3050" UnitId "splitmix-0.1.0.3-375c5f4284797ae2cc392b68ba018c513b4e7382" UnitId "random-1.2.1-88157368b71e1874e2cdaf9126a57d033c51bde6" UnitId "linear-1.21.7-ce4a0d54d5f5cd84ae5cfe8903970c52278b8b07" UnitId "diagrams-core-1.5.0-22963741923f4b5c1d1b0fe42a985f63a1ececa7" UnitId "zlib-0.6.2.3-9827b4d3c378240186f560baa23785e5280397cd" UnitId "JuicyPixels-3.3.5-9a6b20b34e057e93674c27bef32413e94f3a1c0d" UnitId "active-0.2.0.15-2fdedf172a811611f60e4e508d52b36c4396f392" UnitId "diagrams-solve-0.1.3-dbe1c625763689cfb653c804eff7d09684d0d1ab" UnitId "fingertree-0.1.4.2-d46dc7e073e1dc7b24b68c37d3160d5d1904d43a" UnitId "async-2.2.3-6f069dd0effd7b8833ff0e8a87c25ba36e7ae8e5" UnitId "unix-compat-0.5.3-2c534364b78dd6fdc4b41971e5c636c643d63483" UnitId "fsnotify-0.3.0.1-58ceb1ca39d9863851a9f4326d93a11d5ae5ad07" UnitId "intervals-0.9.2-4b5e96ee4c093a9818d90a449b3849f1a44f352e" UnitId "mintty-0.1.2-ed4d2c95d324712ff13d499f2e93784dd399bcff" UnitId "ansi-terminal-0.11-3dea379631bf12202b28319a7ab039a3c268d29e" UnitId "ansi-wl-pprint-0.6.9-fb3a368296bcdeb00d6f862889c6fca059878de9" UnitId "optparse-appl_-0.16.1.0-7c693e7a8b94d1fb30ef418f1aa9472cc6cccbf9" UnitId "diagrams-lib-1.4.4-1075fd57b9e593f8ffc7b83e89fb27d57c1f857c" UnitId "split-0.2.3.4-8435dc42edc6048b466e1acb1457b2f4158c6bfd" UnitId "xml-1.3.14-620dc134ac54a2c5a4af0904905ce593b00d0b24" UnitId "SVGFonts-1.7.0.1-40ffe8198cb1c0d0404107cadcf00141325c526a" UnitId "statestack-0.3-cc8896ff332717adfff411474378c63caf29eb75" UnitId "diagrams-post_-1.5-52285e6315ac59f6f4861a02b96eaa95efa231f9" UnitId "base64-bytest_-1.2.1.0-991f21014238dcadad453b91138cf95c54a75cd7" UnitId "svg-builder-0.1.1-b5a6ad0dca2a9a235d10f848766b7f134f0f8062" UnitId "diagrams-svg-1.4.3-9d510c6f1f2dbdcda0c644c0a48ff6235de1aeac" UnitId "Chart-diagrams-1.9.3-907f09a477209851e9533722003620ffece4ff47" UnitId "Diff-0.4.0-bfa6b682df6ecb9bcd480cb6bb41d9784be8d0eb" UnitId "dlist-1.0-70c2153422a506fbed0930d8f281670b88a8869c" UnitId "Glob-0.10.1-b480d8d7436e13f2bfaf1477d04afb4b382610af" UnitId "HUnit-1.6.2.0-285588e5bf76b278f59ee95d5051166007297b01" UnitId "HsYAML-0.2.1.0-3ff92d14a8e56ce56ace4b943afbfba86afc6175" UnitId "base-compat-0.12.0-2910f8ffe0fa5604aa349042ccd53822557f53bc" UnitId "base-compat-b_-0.12.0-fca054eb380a9b26a3dbe4212958a0848948ff95" UnitId "data-fix-0.3.2-d29e48467d69e52c97510ee3aaeb64c8594ba5fd" UnitId "time-compat-1.9.6.1-a6bc92b7f828abd27e06d12913315acaa2e46d12" UnitId "uuid-types-1.0.5-2eb192d23eb41017b9832d231bba4ef2c9dc83ee" UnitId "aeson-1.5.6.0-f67b81624af7b9c2bd532ae55a9b023d0c0a26a8" UnitId "HsYAML-aeson-0.2.0.0-45433933cd7fcc77ecc292359d87f2de263ed896" UnitId "MemoTrie-0.6.10-d3677fb6a82a74f75eb24b99becb2509bd285622" UnitId "MonadRandom-0.5.3-b2627441d69d4cac379ca7e6ccdfd11f2e3d4387" UnitId "NumInstances-1.4-9c86c35b8f5a39428d8888c964630e37cd20de03" UnitId "Only-0.1-65fc66e89a549d53bab5498a3cfd708d1817d520" UnitId "QuickCheck-2.14.2-bd9ffc0aa406e6b3e75c2380cf0eaf537463f7e2" UnitId "aeson-pretty-0.8.8-c838b5c1f26315b08ead086845d93551148cd715" UnitId "cmdargs-0.10.21-b3d51e5aa01f866792600933a2644b1b4a774ccc" UnitId "aeson-pretty-0.8.8-a15092e839ed8517a58a2d343be182349a6c6612" UnitId "alex-3.2.6-50d1df62f4c2b87f33e627c29fb66eb7ab89df2f" UnitId "algebraic-gra_-0.5-7d141658f73287028d389bbb0a78db7f7b345ee9" UnitId "clock-0.8.2-2e9c96673b57bc215b0a6dbf3339fb3cd40ee65c" UnitId "extra-1.7.9-0b3c0eedab315ce7dd90bdd2eb49f712f995421f" UnitId "filemanip-0.3.6.3-d70da8287c38d51e60febf3f74e18480663ebcdf" UnitId "ghc-boot-8.10.7" UnitId "ghc-heap-8.10.7" UnitId "ghci-8.10.7" UnitId "hpc-0.6.1.0" UnitId "ghc-8.10.7" UnitId "ghc-paths-0.1.0.12-05bd33a6a903d4a528632ac9c5dd2e49680e791c" UnitId "syb-0.7.2.1-723e9a69e957b268cc410cbdf23318d1c1830f46" UnitId "ghc-exactprint-0.6.4-ec62ac66f8114826b63f6aa28c43269421fdd2a0" UnitId "refact-0.3.0.2-f4d06046bca208c603a9c79743d477f5d1977a15" UnitId "uniplate-1.6.13-3595f790d234abca95ab6f1fa4c55694daaa0181" UnitId "apply-refact-0.9.3.0-64ff9680ec9268f75e37da120e05b26cc478354a" UnitId "apply-refact-0.9.3.0-eeca2a173ba5dd07e813ab5a831196fcefee517d" UnitId "atomic-primops-0.8.4-e10acd39ef2ef6789670e29c800f18d3d889e6d6" UnitId "base16-bytest_-1.0.1.0-72484f6a164af6d1a5fa215f937c9e404f8bc90c" UnitId "blaze-textual-0.2.2.1-36a426ea59ae69de6e65ba1dff0824de9b6886d8" UnitId "strict-list-0.1.6-b6fda983c6f6838dd0ca2b24387490c9e1435e3f" UnitId "deque-0.4.4-53bfc1e5c2c5b961aa1dcc6d597b0b3f7fc1d784" UnitId "microlens-0.4.12.0-968b50fb58e3830112553cc169042bb675bed949" UnitId "microlens-th-0.4.3.10-02d3f92bcd1410015cd465232ce93d09c93d6af5" UnitId "monad-control-1.0.3.1-0e65947998cbffbbad9e09601269bf2a01585d81" UnitId "multistate-0.8.0.3-d9caa29d4d6a8a01a3c935dd1db177d7eb1570c2" UnitId "unsafe-0.0-8d8646877220add1e3a0ce9ceef01d700cd4bb87" UnitId "butcher-1.3.3.2-4307e05f04bbff18c06bc6d472ac43f929a7867c" UnitId "czipwith-1.0.1.3-f740d8110dde19fe94bbfe2ba2fb8217708e4dc3" UnitId "data-tree-pri_-0.1.0.2-f64219c954a547f0bb232a3fa834ad598b57f99f" UnitId "monad-memo-0.5.3-f6783aaf5cecac4a6178d98b8687a4f0a7d8428d" UnitId "safe-0.3.19-195763394f9e43b82f188f5de6526ffe854525bf" UnitId "vector-algori_-0.8.0.4-f9fff35c1a8166433b7dfa1af3f164736bef4337" UnitId "mono-traversa_-1.0.15.3-2ac7bee2add0f566f70e26a1249bcd829bdc3785" UnitId "unliftio-core-0.2.0.1-afa22f0161d0d6dd605995c48d760db1498c6973" UnitId "resourcet-1.2.4.3-03d83c1461dbd824c90d4e9cd0bca823f35fd56d" UnitId "conduit-1.3.4.2-c0a458835ed4c4ae404cf7cbb8eca488de5a5c45" UnitId "libyaml-0.1.2-938c943a78796577beb93c4bc42bd5d485ffd1d5" UnitId "yaml-0.11.6.0-cf2171e11826014a17de7b711300002c9583d374" UnitId "brittany-0.13.1.2-405d7c12bacec185f2248c486b2627c327ff70c5" UnitId "brittany-0.13.1.2-0bc0883f264a1982084693fcea237a62246146fc" UnitId "bytestring-en_-0.1.1.0-5f1ded0303ad5f4510366829a92b8acdea814d4b" UnitId "cabal-doctest-1.0.8-384056a73731703cbf9e26db7ebf4b8b99c85f40" UnitId "case-insensit_-1.2.1.0-19aa677f90b2366ab2feabdab929c60a46b392b7" UnitId "charset-0.3.8-b9a6f5eb0943caa45a1bca71e84d06b86d398c1f" UnitId "circle-packing-0.1.0.6-686e3be7fd1ebb7781d485c84e60f9c3672b0d9e" UnitId "hsc2hs-0.68.7-10d302c1916b874563c95b394fb5a7f170584c9d" UnitId "network-3.1.2.2-013c039640b05bd2117a95416bcdca33b7b3367f" UnitId "streaming-com_-0.2.2.1-1a5f83ffeee6d323509992053642cd55666993cb" UnitId "typed-process-0.2.6.3-418723a96dd5f943267cc9858332c0a02fae112b" UnitId "conduit-extra-1.3.5-178594349d6a21c82f61462768b9b351cb98807d" UnitId "parsers-0.12.10-0870e480256335fe4f4005055808b4bc0227a92e" UnitId "safe-exceptio_-0.1.7.2-cc54867ed7cbbd890300a03a1a6e3cb5f35147a0" UnitId "conduit-parse-0.2.1.0-6fd71402cfc6e45be31427124420e60065d3dc83" UnitId "type-equality-1-74f55167de798ae7484faabaf2d6c65e1438950c" UnitId "constraints-0.13-af3089f719680b7134639b73975fdd1a2c9f25d2" UnitId "constraints-e_-0.3.1.0-a77adcd2d8fc6da6f54aa3239988570e8fad0dbc" UnitId "constraints-e_-0.3.1.0-a9608c5735d552facea8e410e582baf821121048" UnitId "polyparse-1.13-c07e305168f59e76f160d00db5e80d7b14104ac9" UnitId "cpphs-1.20.9.1-565cdfb9b254a470b32fcfcd6e6c7a6dea7e298f" UnitId "cpphs-1.20.9.1-e096827f3be5b2fce1a045f19a22a561d341595a" UnitId "cryptohash-md5-0.11.10_-e4052877261984b6b099e3ed65712e3fd20d9fee" UnitId "cryptohash-sh_-0.11.10_-5232bdac1213e2f98a3b5f246cf42071f2e6097a" UnitId "fast-math-1.0.2-e174fd2cf6bad63bc10d3c6ea78ae6ea096f75ea" UnitId "integration-0.2.1-8ed325e90a421b4b08b1d842f7fd012660feef13" UnitId "matrices-0.5.0-4c053697bffd44e236a097fed6c330bdeb2b6df3" UnitId "microlens-mtl-0.2.0.1-be74b44ba44dc90000bc40a631f9c95ac0dfcb5b" UnitId "vector-space-0.16-f974b84daed37a64c2b73107283e0e34f1abb880" UnitId "cubicbezier-0.6.0.6-755bb31d62645a22a51cbee1917580ee8e3e748b" UnitId "data-default-_-0.0.1-27674bd8e612bd1332aa123429d28e351da1dec9" UnitId "data-default-_-0.0.1-a65e0a093c3524da303b56674bc763825dcfaace" UnitId "data-default-_-0.0.1-ea8168fa008bd75f96c8ed6b96a7bfb3d1bb2ef4" UnitId "data-default-0.7.1.1-c0356ba349434915d2fc066f51fd8c14ca89a011" UnitId "some-1.0.2-a1676692abf9e899fecc3b22f2f24520aa8dad3c" UnitId "dependent-sum-0.7.1.0-a4700e23a1552eadfceb79caa40d07249372451b" UnitId "dependent-map-0.4.0.0-9205aee21836a5f35735b62f68d733d8f87fd071" UnitId "th-extras-0.0.0.4-2e3d053a410af8782cb7a1fabb084a10cb29782e" UnitId "dependent-sum_-0.1.0.3-908e552b2b5fab2bfab2ec0a6cea4ff42dd7b855" UnitId "force-layout-0.4.0.6-715889b5c4b4f06c363f04edd9a9634163cf6f75" UnitId "mtl-compat-0.2.2-bf124cdd5a2738e74ba0699fea5a340648aef65d" UnitId "mfsolve-0.3.2.0-78533e2e0ea461baa7398c27fb60eafff870a287" UnitId "diagrams-cont_-1.4.4-97226d976df838920f343cc28b5583d7e19df156" UnitId "direct-sqlite-2.3.26-c58947313df7ccb348b0aa7e6ae241dfb4a16fb2" UnitId "entropy-0.4.1.6-9807b8577c7b2073e1060287d658af01e52ca8e2" UnitId "file-embed-0.0.15.0-a0381fe3427b10cfee4ac5a1c653adc30438bc8e" UnitId "filepattern-0.1.2-d2e58794f6cc9bc2a1a9fb339096084b9c6cf3e8" UnitId "happy-1.20.0-d12ac16aeb114015932dee7ce9466d0a48372cb6" UnitId "haskell-src-e_-1.23.1-e7f4e29c4dddc4f189b8bea3fcd5940a8ca3d814" UnitId "psqueues-0.2.7.2-7239c562f7b858c5249d9410dacf3e8a935181ad" UnitId "monad-dijkstra-0.1.1.3-aafbbfe17d19a240f7e9ff0116d80e5180def4ed" UnitId "utf8-string-1.0.2-7d995ac81704555e1a77fa761780fa22e72aafbc" UnitId "floskell-0.10.5-29a69ae9aee7e9e5a62de4e0941c0844b8bc4cc1" UnitId "floskell-0.10.5-0a0075693fed06a62e9406d6c99184c68f993089" UnitId "foldl-1.4.12-960fbe3b5513df5bf3876abf7701a836f7f1d459" UnitId "ghc-lib-parser-8.10.7._-e105397607faf5d14b437919d4847efae7e2cf97" UnitId "fourmolu-0.3.0.0-622ed5a2824f7bd6a602b93ce9d2a69dba19e212" UnitId "gitrev-1.3.1-efe84b1ded96a27b3615b4851e57323804f77d6c" UnitId "fourmolu-0.3.0.0-a3200f845bd117c262ddcfe67ff1ee0889fbeae3" UnitId "primes-0.2.1.0-0fd7efdea5d8d154cea1b683760df77ba8faa5c3" UnitId "monoid-subcla_-1.1.1-46358cc756f43a13dc5dc3ab988130f0472c5311" UnitId "fuzzy-0.1.0.1-dd6967d4f0277ab27a8a8553a51f90c1d861aff8" UnitId "indexed-profu_-0.1.1-0bcb0dca4d3afa5de7945d5ec1bb428f8805ecbe" UnitId "generic-lens-_-2.2.0.0-daeae64c6997089eeeb9ef5e6c6ddc4e522e0cc1" UnitId "generic-lens-2.2.0.0-2cb55d6b04b0233048ff27712d972549605197d3" UnitId "th-compat-0.1.3-05f9b6c3c5741b2344a03ede1e384792bfec83a8" UnitId "ghc-check-0.5.0.6-0db4e908c012e9d8e6b9eaad276e8c5960b9ac62" UnitId "ghc-lib-parse_-8.10.0._-bdf5d96e9c639f17b3aad35b93cfe09a2410ebf8" UnitId "ghc-source-gen-0.4.2.0-feff665e8d9f3e0606664fe53b01d6e0497b0909" UnitId "ghc-trace-eve_-0.1.2.3-ce54879b891c91669f67bb27896a47764479be4b" UnitId "haddock-libra_-1.10.0-5ea510fff8de22136ebc4b67168b042eea2f5cf7" UnitId "hashtables-1.2.4.1-aa487e0aeb553bb19b1b0c1b5b114e9ea9a54062" UnitId "heapsize-0.3.0.1-0ab8663c2e2087c925a9ecf073fcc6f42ba894e6" UnitId "network-bsd-2.8.1.0-e4be9c07721a13ce6dc0c93e2fdf20a4c4a770ad" UnitId "hslogger-1.3.1.0-d77538e9e1aead3e15a209c8b236505b8626d43a" UnitId "temporary-1.3-5ec005870c8ca3fa414bc681f6d506c4dfd3f4a7" UnitId "hie-bios-0.7.6-72425099e5045851b76bf1c44ce611ffd70ee1ab" UnitId "hie-compat-0.2.1.0-inplace" UnitId "mmorph-1.2.0-0a135166bafac4808fa38b6c85924dfbaf280008" UnitId "lucid-2.9.12.1-1cf9627c8dff0fcc28aa702f00b94f9125afe28e" UnitId "sqlite-simple-0.4.18.0-5f9849281eba07af429b821fd9b9f23c20d8dcb7" UnitId "terminal-size-0.3.2.1-7a7d09b177e91c3c6bc6bff5388acc6c3955f544" UnitId "hiedb-0.4.1.0-inplace" UnitId "js-dgtable-0.5.2-2595a339d8e85988401b44e6eb9a3f4f674f1f3d" UnitId "js-flot-0.8.3-8f1a0c0a2e894f81955fc784aa4b373f992f7437" UnitId "js-jquery-3.3.1-3bd015a6c41a29d671ddf2ad34efef3eba05c6cb" UnitId "hls-graph-1.5.0.0-inplace" UnitId "network-uri-2.6.4.1-baa66ab056862dca9d337913f81e4ab7a37a2b37" UnitId "rope-utf16-sp_-0.3.2.0-a1c21419f869ca6620b0685d385736bbc4ba2305" UnitId "lsp-types-1.3.0.1-d8e392f2fdd39c21df8e146b14481cce050a68d7" UnitId "sorted-list-0.2.1.0-40c74f102354025e513f33cd852c6fea83fb3ef0" UnitId "network-info-0.2.0.10-3d2efa741d7c13660d4d031745a9aa0a38f72b7f" UnitId "uuid-1.3.15-80353e140362ef6717dbc3e4231e48f5362414e0" UnitId "lsp-1.2.0.1-b3d114f1b983a692600756e8717b66b76b04dfad" UnitId "opentelemetry-0.7.0-740692daad2a38a58dd3796db446a2a5984ce653" UnitId "regex-base-0.94.0.1-dffb667229ad4bc71327b4e9f1e12f2cdaff3b02" UnitId "regex-tdfa-1.3.1.1-b3abc10db04beedee061122b0f654d72c6c3cf74" UnitId "hls-plugin-api-1.2.0.1-inplace" UnitId "implicit-hie-0.1.2.6-52dd6e1b248a8403ae13d3155f3f6889f80d713f" UnitId "implicit-hie-_-0.3.0.5-8416796625346ff53d06bd9ff36a7935059fb088" UnitId "prettyprinter-1.7.1-7928de385db75ca520220d0b515cb8f2edd4f4d4" UnitId "prettyprinter_-1.1.3-21a227a469f9de1d8124384e67a2a972224d7245" UnitId "random-shuffle-0.0.4-57d06b0fe630ccf0bbebc38746de2181a3488492" UnitId "retrie-1.0.0.0-9d5ed7e8e8eda89f6aacf6a83e03a89d102f25d8" UnitId "unliftio-0.2.20-85939aa92e0fd4ef6f82a23183508cc4659c69a1" UnitId "ghcide-1.4.2.3-inplace" UnitId "ghcide-1.4.2.3-inplace-ghcide" UnitId "parser-combin_-1.3.0-8cb32c83e2224702d7c1a2df52944d2af39eb5b9" UnitId "lsp-test-0.14.0.1-ec7bdba3e91e6df344c65e1d315489b8322c7477" UnitId "heaps-0.4-7e43eef8c25721ea57b9b3b86bda1098bfc83b62" UnitId "shake-0.19.6-4506b7d898349189c8506b37a96e9a6e76513c6d" UnitId "ghcide-1.4.2.3-inplace-ghcide-bench" UnitId "ghcide-1.4.2.3-inplace-ghcide-test-preprocessor" UnitId "githash-0.1.6.2-b63c7b081ae8428b4ae100315e6cb1940f70dcb0" UnitId "optparse-simp_-0.1.1.4-9cd7cb5c996c3ca4aad6f17195a62a60f7112328" UnitId "haskell-language-server-1.4.0.0-inplace" UnitId "hls-brittany-plugin-1.0.1.0-inplace" UnitId "hls-call-hierarchy-plugin-1.0.1.0-inplace" UnitId "hls-class-plugin-1.0.1.0-inplace" UnitId "megaparsec-9.2.0-a6f614f55eeada4aba7c80932883ccbf392c2d01" UnitId "pretty-simple-4.0.0.0-d869807c42f53fe5a20775cb4937cd34eb9bfcdf" UnitId "hls-eval-plugin-1.1.2.0-inplace" UnitId "hls-explicit-imports-plugin-1.0.1.0-inplace" UnitId "hls-floskell-plugin-1.0.0.1-inplace" UnitId "hls-fourmolu-plugin-1.0.1.0-inplace" UnitId "hls-haddock-comments-plugin-1.0.0.3-inplace" UnitId "hscolour-1.24.4-e7684a594b1f7804136685c4163d6dd4618ba759" UnitId "hlint-3.2.7-981fe7a72492513f3ded896262bc266a76d911ae" UnitId "hls-hlint-plugin-1.0.1.1-inplace" UnitId "hls-module-name-plugin-1.0.0.1-inplace" UnitId "ormolu-0.1.4.1-c0f9b39a78ca976f2d709f13601aab23fea37c6c" UnitId "hls-ormolu-plugin-1.0.1.0-inplace" UnitId "hls-pragmas-plugin-1.0.1.0-inplace" UnitId "hls-refine-imports-plugin-1.0.0.1-inplace" UnitId "hls-retrie-plugin-1.0.1.2-inplace" UnitId "hls-splice-plugin-1.0.0.4-inplace" UnitId "stylish-haske_-0.13.0.0-50b5873c671b81803721b0f6169c278534907697" UnitId "hls-stylish-haskell-plugin-1.0.0.2-inplace" UnitId "hyphenation-0.8.2-ccbef8cb377161f5a282822c59ad37936050972b" UnitId "refinery-0.4.0.0-a6e28466c7377734988f82188eb9df3fa3711e2d" UnitId "unagi-chan-0.4.1.3-6d0e12f454f5f1555f70650e1fad3bea3d01d924" UnitId "hls-tactics-plugin-1.4.0.0-inplace" UnitId "haskell-language-server-1.4.0.0-inplace-haskell-language-server" UnitId "haskell-language-server-1.4.0.0-inplace-haskell-language-server-wrapper" UnitId "hie-bios-0.7.6-6139391e8d880d394fb1c7223e6f55b12fce6648" UnitId "hiedb-0.4.1.0-inplace-hiedb" UnitId "hlint-3.2.7-fe4cc4806f771f5a9a1634cb2c31293925dedd7c" UnitId "hls-rename-plugin-1.0.0.0-inplace" UnitId "hspec-expecta_-0.8.2-45a9dd110a15ddfe2c657b0153e86997d870a73a" UnitId "quickcheck-io-0.2.0-0dc13bf8050191a0517d95a46e7d9766ab52f876" UnitId "setenv-0.1.1.3-53dcd7111b093cfa3de6f1a15ba86ad2ce4837a4" UnitId "tf-random-0.5-5e109d0498847052f8c49eff0c416ef165ab2303" UnitId "hspec-core-2.7.10-2ee3225a6d26515073c3106957d76ce690a81c9f" UnitId "hspec-discover-2.7.10-a934e108ee970fa1e9518c49230cd98dd1734ae6" UnitId "hspec-2.7.10-1f605e642492902ce07e5c7a1ad52980f1776c48" UnitId "unbounded-del_-0.1.1.1-9efc47405d37747fd55e5fb2775a81d1f70f47f0" UnitId "tasty-1.4.2-1f397c3b6e95f86bf1365affd87fbbabc735f2b5" UnitId "tasty-expecte_-0.12.3-e1e94a0f88972cd74a2e7ce674de1aac30170629" UnitId "tasty-golden-2.3.4-f45869a478dce6983ae415cdb0eb1a383665079a" UnitId "tasty-hunit-0.10.0.3-5a7302c4d5460b7ea7dfd6fa2f67473c6d2b479b" UnitId "tasty-rerun-1.1.18-d83b3c48c4af756222651e07c08752fe0128e369" UnitId "hls-test-utils-1.1.0.0-inplace" UnitId "hspec-discover-2.7.10-b99a747686943d390fb9623d6ffefec5128d0bad" UnitId "implicit-hie-0.1.2.6-34ba223fceba042919494502b812b07137e39784" UnitId "operational-0.2.4.0-5fd69ef7a9de3a9f777787d3c3912956614e6d89" UnitId "ormolu-0.1.4.1-4ef69e6b78d26a089669fb4613ce7d9478ba9272" UnitId "retrie-1.0.0.0-4ed181b107ad853dbd38a25ed95d37c7d3b4ffb1" UnitId "retrie-1.0.0.0-ada3f22b2a55a3c70bc5be5e335c57c4695d5481" UnitId "shake-0.19.6-0f1373f848213b6eb7491b11fca0c903e415a78e" UnitId "shake-bench-0.1.0.2-inplace" UnitId "stylish-haske_-0.13.0.0-99694cddb8afa94ae880fa742d3ca4a0a0937fbe" Direct deps ~~~~~~~~~~~ PkgId (PkgName "ghcide") (Ver [1,4,2,3]) CompNameLib Diff-0.4.0 Glob-0.10.1 Win32-2.6.2.1 aeson-1.5.6.0 aeson-pretty-0.8.8 array-0.5.4.0 async-2.2.3 base-4.14.3.0 base16-bytestring-1.0.1.0 binary-0.8.8.0 bytestring-0.10.12.0 bytestring-encoding-0.1.1.0 case-insensitive-1.2.1.0 containers-0.6.5.1 cryptohash-sha1-0.11.100.1 data-default-0.7.1.1 deepseq-1.4.4.0 dependent-map-0.4.0.0 dependent-sum-0.7.1.0 directory-1.3.6.0 dlist-1.0 exceptions-0.10.4 extra-1.7.9 filepath-1.4.2.1 fingertree-0.1.4.2 fuzzy-0.1.0.1 ghc-8.10.7 ghc-boot-8.10.7 ghc-boot-th-8.10.7 ghc-check-0.5.0.6 ghc-exactprint-0.6.4 ghc-paths-0.1.0.12 ghc-trace-events-0.1.2.3 haddock-library-1.10.0 hashable-1.3.4.1 heapsize-0.3.0.1 hie-bios-0.7.6 hie-compat-0.2.1.0 hiedb-0.4.1.0 hls-graph-1.5.0.0 hls-plugin-api-1.2.0.1 hslogger-1.3.1.0 implicit-hie-cradle-0.3.0.5 lens-5.0.1 lsp-1.2.0.1 lsp-types-1.3.0.1 monoid-subclasses-1.1.1 mtl-2.2.2 network-uri-2.6.4.1 opentelemetry-0.7.0 optparse-applicative-0.16.1.0 parallel-3.2.2.0 prettyprinter-1.7.1 prettyprinter-ansi-terminal-1.1.3 regex-tdfa-1.3.1.1 retrie-1.0.0.0 rope-utf16-splay-0.3.2.0 safe-0.3.19 safe-exceptions-0.1.7.2 sorted-list-0.2.1.0 sqlite-simple-0.4.18.0 stm-2.5.0.1 syb-0.7.2.1 text-1.2.4.1 time-1.9.3 transformers-0.5.6.2 unliftio-0.2.20 unliftio-core-0.2.0.1 unordered-containers-0.2.14.0 utf8-string-1.0.2 vector-0.12.3.1 vector-algorithms-0.8.0.4 PkgId (PkgName "ghcide") (Ver [1,4,2,3]) CompNameExe "ghcide" aeson-1.5.6.0 base-4.14.3.0 data-default-0.7.1.1 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 ghc-8.10.7 ghcide-1.4.2.3 gitrev-1.3.1 hashable-1.3.4.1 heapsize-0.3.0.1 hie-bios-0.7.6 hiedb-0.4.1.0 hls-graph-1.5.0.0 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 lsp-types-1.3.0.1 optparse-applicative-0.16.1.0 safe-exceptions-0.1.7.2 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "ghcide") (Ver [1,4,2,3]) CompNameExe "ghcide-bench" aeson-1.5.6.0 base-4.14.3.0 bytestring-0.10.12.0 containers-0.6.5.1 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 ghcide-1.4.2.3 hls-graph-1.5.0.0 lens-5.0.1 lsp-test-0.14.0.1 lsp-types-1.3.0.1 optparse-applicative-0.16.1.0 process-1.6.13.2 safe-exceptions-0.1.7.2 shake-0.19.6 text-1.2.4.1 PkgId (PkgName "ghcide") (Ver [1,4,2,3]) CompNameExe "ghcide-test-preprocessor" base-4.14.3.0 PkgId (PkgName "haskell-language-server") (Ver [1,4,0,0]) CompNameLib aeson-pretty-0.8.8 async-2.2.3 base-4.14.3.0 base16-bytestring-1.0.1.0 bytestring-0.10.12.0 containers-0.6.5.1 cryptohash-sha1-0.11.100.1 data-default-0.7.1.1 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 ghc-8.10.7 ghcide-1.4.2.3 gitrev-1.3.1 hie-bios-0.7.6 hiedb-0.4.1.0 hls-graph-1.5.0.0 hls-plugin-api-1.2.0.1 hslogger-1.3.1.0 lsp-1.2.0.1 optparse-applicative-0.16.1.0 optparse-simple-0.1.1.4 process-1.6.13.2 safe-exceptions-0.1.7.2 sqlite-simple-0.4.18.0 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "haskell-language-server") (Ver [1,4,0,0]) CompNameExe "haskell-language-server" aeson-1.5.6.0 async-2.2.3 base-4.14.3.0 base16-bytestring-1.0.1.0 binary-0.8.8.0 bytestring-0.10.12.0 containers-0.6.5.1 cryptohash-sha1-0.11.100.1 deepseq-1.4.4.0 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 ghc-8.10.7 ghc-boot-th-8.10.7 ghcide-1.4.2.3 hashable-1.3.4.1 haskell-language-server-1.4.0.0 hie-bios-0.7.6 hiedb-0.4.1.0 hls-brittany-plugin-1.0.1.0 hls-call-hierarchy-plugin-1.0.1.0 hls-class-plugin-1.0.1.0 hls-eval-plugin-1.1.2.0 hls-explicit-imports-plugin-1.0.1.0 hls-floskell-plugin-1.0.0.1 hls-fourmolu-plugin-1.0.1.0 hls-graph-1.5.0.0 hls-haddock-comments-plugin-1.0.0.3 hls-hlint-plugin-1.0.1.1 hls-module-name-plugin-1.0.0.1 hls-ormolu-plugin-1.0.1.0 hls-plugin-api-1.2.0.1 hls-pragmas-plugin-1.0.1.0 hls-refine-imports-plugin-1.0.0.1 hls-retrie-plugin-1.0.1.2 hls-splice-plugin-1.0.0.4 hls-stylish-haskell-plugin-1.0.0.2 hls-tactics-plugin-1.4.0.0 hslogger-1.3.1.0 lens-5.0.1 lsp-1.2.0.1 mtl-2.2.2 optparse-applicative-0.16.1.0 regex-tdfa-1.3.1.1 safe-exceptions-0.1.7.2 sqlite-simple-0.4.18.0 temporary-1.3 text-1.2.4.1 transformers-0.5.6.2 unordered-containers-0.2.14.0 PkgId (PkgName "haskell-language-server") (Ver [1,4,0,0]) CompNameExe "haskell-language-server-wrapper" base-4.14.3.0 data-default-0.7.1.1 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 ghc-8.10.7 ghc-paths-0.1.0.12 ghcide-1.4.2.3 gitrev-1.3.1 haskell-language-server-1.4.0.0 hie-bios-0.7.6 optparse-applicative-0.16.1.0 optparse-simple-0.1.1.4 process-1.6.13.2 text-1.2.4.1 PkgId (PkgName "hie-compat") (Ver [0,2,1,0]) CompNameLib array-0.5.4.0 base-4.14.3.0 bytestring-0.10.12.0 containers-0.6.5.1 directory-1.3.6.0 filepath-1.4.2.1 ghc-8.10.7 ghc-boot-8.10.7 transformers-0.5.6.2 PkgId (PkgName "hls-brittany-plugin") (Ver [1,0,1,0]) CompNameLib base-4.14.3.0 brittany-0.13.1.2 czipwith-1.0.1.3 extra-1.7.9 filepath-1.4.2.1 ghc-8.10.7 ghc-boot-th-8.10.7 ghc-exactprint-0.6.4 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-types-1.3.0.1 text-1.2.4.1 transformers-0.5.6.2 PkgId (PkgName "hls-call-hierarchy-plugin") (Ver [1,0,1,0]) CompNameLib aeson-1.5.6.0 base-4.14.3.0 bytestring-0.10.12.0 containers-0.6.5.1 extra-1.7.9 ghc-8.10.7 ghcide-1.4.2.3 hiedb-0.4.1.0 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 sqlite-simple-0.4.18.0 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "hls-class-plugin") (Ver [1,0,1,0]) CompNameLib aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 ghc-8.10.7 ghc-exactprint-0.6.4 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 text-1.2.4.1 transformers-0.5.6.2 PkgId (PkgName "hls-eval-plugin") (Ver [1,1,2,0]) CompNameLib Diff-0.4.0 QuickCheck-2.14.2 aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 deepseq-1.4.4.0 directory-1.3.6.0 dlist-1.0 extra-1.7.9 filepath-1.4.2.1 ghc-8.10.7 ghc-boot-th-8.10.7 ghc-paths-0.1.0.12 ghcide-1.4.2.3 hashable-1.3.4.1 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 lsp-types-1.3.0.1 megaparsec-9.2.0 mtl-2.2.2 parser-combinators-1.3.0 pretty-simple-4.0.0.0 safe-exceptions-0.1.7.2 temporary-1.3 text-1.2.4.1 time-1.9.3 transformers-0.5.6.2 unliftio-0.2.20 unordered-containers-0.2.14.0 PkgId (PkgName "hls-explicit-imports-plugin") (Ver [1,0,1,0]) CompNameLib aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 deepseq-1.4.4.0 ghc-8.10.7 ghcide-1.4.2.3 hls-graph-1.5.0.0 hls-plugin-api-1.2.0.1 lsp-1.2.0.1 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "hls-floskell-plugin") (Ver [1,0,0,1]) CompNameLib base-4.14.3.0 floskell-0.10.5 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lsp-types-1.3.0.1 text-1.2.4.1 transformers-0.5.6.2 PkgId (PkgName "hls-fourmolu-plugin") (Ver [1,0,1,0]) CompNameLib base-4.14.3.0 filepath-1.4.2.1 fourmolu-0.3.0.0 ghc-8.10.7 ghc-boot-th-8.10.7 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 text-1.2.4.1 PkgId (PkgName "hls-graph") (Ver [1,5,0,0]) CompNameLib async-2.2.3 base-4.14.3.0 bytestring-0.10.12.0 containers-0.6.5.1 deepseq-1.4.4.0 directory-1.3.6.0 exceptions-0.10.4 extra-1.7.9 filepath-1.4.2.1 hashable-1.3.4.1 js-dgtable-0.5.2 js-flot-0.8.3 js-jquery-3.3.1 primitive-0.7.2.0 time-1.9.3 transformers-0.5.6.2 unordered-containers-0.2.14.0 PkgId (PkgName "hls-haddock-comments-plugin") (Ver [1,0,0,3]) CompNameLib base-4.14.3.0 containers-0.6.5.1 ghc-8.10.7 ghc-exactprint-0.6.4 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lsp-types-1.3.0.1 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "hls-hlint-plugin") (Ver [1,0,1,1]) CompNameLib Diff-0.4.0 aeson-1.5.6.0 apply-refact-0.9.3.0 base-4.14.3.0 binary-0.8.8.0 bytestring-0.10.12.0 containers-0.6.5.1 data-default-0.7.1.1 deepseq-1.4.4.0 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 ghc-8.10.7 ghc-exactprint-0.6.4 ghcide-1.4.2.3 hashable-1.3.4.1 hlint-3.2.7 hls-plugin-api-1.2.0.1 hslogger-1.3.1.0 lens-5.0.1 lsp-1.2.0.1 regex-tdfa-1.3.1.1 temporary-1.3 text-1.2.4.1 transformers-0.5.6.2 unordered-containers-0.2.14.0 PkgId (PkgName "hls-module-name-plugin") (Ver [1,0,0,1]) CompNameLib aeson-1.5.6.0 base-4.14.3.0 directory-1.3.6.0 filepath-1.4.2.1 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lsp-1.2.0.1 text-1.2.4.1 transformers-0.5.6.2 unordered-containers-0.2.14.0 PkgId (PkgName "hls-ormolu-plugin") (Ver [1,0,1,0]) CompNameLib base-4.14.3.0 filepath-1.4.2.1 ghc-8.10.7 ghc-boot-th-8.10.7 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 ormolu-0.1.4.1 text-1.2.4.1 PkgId (PkgName "hls-plugin-api") (Ver [1,2,0,1]) CompNameLib Diff-0.4.0 Win32-2.6.2.1 aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 data-default-0.7.1.1 dependent-map-0.4.0.0 dependent-sum-0.7.1.0 dlist-1.0 ghc-8.10.7 hashable-1.3.4.1 hls-graph-1.5.0.0 hslogger-1.3.1.0 lens-5.0.1 lsp-1.2.0.1 opentelemetry-0.7.0 optparse-applicative-0.16.1.0 process-1.6.13.2 regex-tdfa-1.3.1.1 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "hls-pragmas-plugin") (Ver [1,0,1,0]) CompNameLib base-4.14.3.0 extra-1.7.9 fuzzy-0.1.0.1 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 text-1.2.4.1 transformers-0.5.6.2 unordered-containers-0.2.14.0 PkgId (PkgName "hls-refine-imports-plugin") (Ver [1,0,0,1]) CompNameLib aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 deepseq-1.4.4.0 ghc-8.10.7 ghcide-1.4.2.3 hls-explicit-imports-plugin-1.0.1.0 hls-graph-1.5.0.0 hls-plugin-api-1.2.0.1 lsp-1.2.0.1 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "hls-rename-plugin") (Ver [1,0,0,0]) CompNameLib base-4.14.3.0 containers-0.6.5.1 extra-1.7.9 ghc-8.10.7 ghc-exactprint-0.6.4 ghcide-1.4.2.3 hiedb-0.4.1.0 hls-plugin-api-1.2.0.1 hls-retrie-plugin-1.0.1.2 lsp-1.2.0.1 lsp-types-1.3.0.1 syb-0.7.2.1 text-1.2.4.1 transformers-0.5.6.2 PkgId (PkgName "hls-retrie-plugin") (Ver [1,0,1,2]) CompNameLib aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 deepseq-1.4.4.0 directory-1.3.6.0 extra-1.7.9 ghc-8.10.7 ghcide-1.4.2.3 hashable-1.3.4.1 hls-plugin-api-1.2.0.1 lsp-1.2.0.1 lsp-types-1.3.0.1 retrie-1.0.0.0 safe-exceptions-0.1.7.2 text-1.2.4.1 transformers-0.5.6.2 unordered-containers-0.2.14.0 PkgId (PkgName "hls-splice-plugin") (Ver [1,0,0,4]) CompNameLib aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 dlist-1.0 extra-1.7.9 foldl-1.4.12 ghc-8.10.7 ghc-exactprint-0.6.4 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lens-5.0.1 lsp-1.2.0.1 retrie-1.0.0.0 syb-0.7.2.1 text-1.2.4.1 transformers-0.5.6.2 unliftio-core-0.2.0.1 unordered-containers-0.2.14.0 PkgId (PkgName "hls-stylish-haskell-plugin") (Ver [1,0,0,2]) CompNameLib base-4.14.3.0 directory-1.3.6.0 filepath-1.4.2.1 ghc-8.10.7 ghc-boot-th-8.10.7 ghcide-1.4.2.3 hls-plugin-api-1.2.0.1 lsp-types-1.3.0.1 stylish-haskell-0.13.0.0 text-1.2.4.1 PkgId (PkgName "hls-tactics-plugin") (Ver [1,4,0,0]) CompNameLib aeson-1.5.6.0 base-4.14.3.0 containers-0.6.5.1 deepseq-1.4.4.0 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 fingertree-0.1.4.2 generic-lens-2.2.0.0 ghc-8.10.7 ghc-boot-th-8.10.7 ghc-exactprint-0.6.4 ghc-source-gen-0.4.2.0 ghcide-1.4.2.3 hls-graph-1.5.0.0 hls-plugin-api-1.2.0.1 hyphenation-0.8.2 lens-5.0.1 lsp-1.2.0.1 megaparsec-9.2.0 mtl-2.2.2 parser-combinators-1.3.0 prettyprinter-1.7.1 refinery-0.4.0.0 retrie-1.0.0.0 syb-0.7.2.1 text-1.2.4.1 transformers-0.5.6.2 unagi-chan-0.4.1.3 unordered-containers-0.2.14.0 PkgId (PkgName "hls-test-utils") (Ver [1,1,0,0]) CompNameLib aeson-1.5.6.0 async-2.2.3 base-4.14.3.0 blaze-markup-0.8.2.8 bytestring-0.10.12.0 containers-0.6.5.1 data-default-0.7.1.1 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 ghcide-1.4.2.3 hls-graph-1.5.0.0 hls-plugin-api-1.2.0.1 hspec-2.7.10 hspec-core-2.7.10 lens-5.0.1 lsp-1.2.0.1 lsp-test-0.14.0.1 lsp-types-1.3.0.1 tasty-1.4.2 tasty-expected-failure-0.12.3 tasty-golden-2.3.4 tasty-hunit-0.10.0.3 tasty-rerun-1.1.18 temporary-1.3 text-1.2.4.1 unordered-containers-0.2.14.0 PkgId (PkgName "shake-bench") (Ver [0,1,0,2]) CompNameLib Chart-1.9.3 Chart-diagrams-1.9.3 aeson-1.5.6.0 base-4.14.3.0 diagrams-contrib-1.4.4 diagrams-core-1.5.0 diagrams-lib-1.4.4 diagrams-svg-1.4.3 directory-1.3.6.0 extra-1.7.9 filepath-1.4.2.1 shake-0.19.6 text-1.2.4.1 ```

And finally the output of cabal-plan in the temp dir used for build by cabal install

Output of `cabal-plan info --builddir C:\TEMP\cabal-install.-19884\dist-newstyle` ``` Top-sorted ~~~~~~~~~~ UnitId "rts" UnitId "ghc-prim-0.6.1" UnitId "integer-gmp-1.0.3.0" UnitId "base-4.14.3.0" UnitId "Boolean-0.2.4-4f7b50e1402637c226dbf1895824d99da10fb2ca" UnitId "array-0.5.4.0" UnitId "deepseq-1.4.4.0" UnitId "bytestring-0.10.12.0" UnitId "filepath-1.4.2.1" UnitId "Win32-2.6.2.1" UnitId "containers-0.6.5.1" UnitId "binary-0.8.8.0" UnitId "time-1.9.3" UnitId "directory-1.3.6.0" UnitId "transformers-0.5.6.2" UnitId "mtl-2.2.2" UnitId "ghc-boot-th-8.10.7" UnitId "pretty-1.1.3.6" UnitId "template-haskell-2.16.0.0" UnitId "text-1.2.4.1" UnitId "parsec-3.1.14.0" UnitId "process-1.6.13.2" UnitId "Cabal-3.2.1.0" UnitId "colour-2.3.6-6b371bc1a3234dd26ec14c351074455d34d9776d" UnitId "data-default-_-0.1.2.0-b70216ef39d41dbc9536068735d3f9206c56550c" UnitId "base-orphans-0.8.5-957b1d9fe39d1ce813fb0786a1c63b63bc22106c" UnitId "tagged-0.8.6.1-66be970db9d725f08dcbc4ee1602baec686cd1ac" UnitId "distributive-0.6.2.1-ffa88e24ffd0647a33054e5f3bf233f70b72592b" UnitId "indexed-trave_-0.1.1-4206c57d3d2697cc8fec38e49638e49cd622d199" UnitId "transformers-_-0.6.6-f0bf1c04e10627dcf1741c6ecb86f3e59295ddec" UnitId "comonad-5.0.8-203ff387e219592a6bf87df2e2f307e8dc1e6c7b" UnitId "th-abstraction-0.4.3.0-8db7026c52547042ed17481929ed83ecb698049e" UnitId "bifunctors-5.5.11-f7bd33bcf905a94cefca6d3d9869bdd423d42002" UnitId "assoc-1.0.2-80751f6af06f84a3279ecec0cbc1f715bf20ba74" UnitId "call-stack-0.4.0-ad7b9f81336d54179f07ce5fd5a963bc65a8149d" UnitId "stm-2.5.0.1" UnitId "StateVar-1.2.2-de19e12ed4681e69cb6c075decbf8da98cc380de" UnitId "contravariant-1.5.5-f2cab5c4530789dc88cb2833c0a6a7845f1ef77d" UnitId "exceptions-0.10.4" UnitId "profunctors-5.6.2-4b1e6d78fca267c75a2dbb8c14ddf6d7c289754b" UnitId "hashable-1.3.4.1-33db1235303831f921777b4a371208e97dccd6f4" UnitId "unordered-con_-0.2.14.0-3719270c37ce17f91f9685f027f23cb683037b61" UnitId "semigroupoids-5.3.5-424ebbc1d796abf9f2f60110ebec738a0201cca7" UnitId "transformers-_-0.4.6-a4b3dbf0d62348f77002c3c4174d5c2c4815cf87" UnitId "free-5.1.7-a4eeadfc0640d4d40b513813e61135a39c9e6950" UnitId "primitive-0.7.2.0-131c3e8ebd9342247621301ffb1674937ce154a8" UnitId "vector-0.12.3.1-1488b77bc07c17054f67a19343942cd247fc5800" UnitId "indexed-trave_-0.1-9ea1fadb36c248abad8fafc656cfcd082096bac4" UnitId "semigroups-0.19.2-6bac7858aaecbc98be6a26b9d5a0ba8cfd77ba7c" UnitId "void-0.7.3-8fbb4811df76db99c5054c53e5e62251fa1dc0da" UnitId "adjunctions-4.4-2f0c37260d9d45804ae8b2a8105b0c005b4e6ba7" UnitId "invariant-0.5.4-e589de35d348a258764937528d7b40a49e1c62ac" UnitId "kan-extensions-5.2.3-41b88bff83a2673a6934a8cf2761765910283c13" UnitId "parallel-3.2.2.0-6d6d3ff1fd1b7f2fe5aefd555c385bef0b05d8aa" UnitId "reflection-2.1.6-5618a9a81a6078a42e927a111e18512382fbfbb4" UnitId "these-1.1.1.1-89b8ed8f0e9dacf5d0500830f7630d3d707f5f6b" UnitId "strict-0.4.0.1-28a659540bc3a5b3f96432de4c719f3fb968947c" UnitId "lens-5.0.1-ae6021f7018c334683c53c8f7ea7e6baf27364e4" UnitId "old-locale-1.0.0.7-ff3f4146ef9d6cdd2a1e66d2e85a7eec5138ae02" UnitId "operational-0.2.4.0-572a72f078baf2fc60e6cd4bac7415aa645d5586" UnitId "Chart-1.9.3-0544a7dca0b30443c2e647318c7aea777d615a5b" UnitId "integer-logar_-1.0.3.1-f44b23bfec89033787b288eb60d1649f76adf271" UnitId "scientific-0.3.7.0-b087f5bc02316fcd8f7a4ec16bb571ef46f4edb2" UnitId "attoparsec-0.13.2.5-c5725820447b6aa92111ecd385b0ff65dc129e65" UnitId "blaze-builder-0.4.2.1-9652d1a1f45cb0ac2acd471ec38c8c4544930c6b" UnitId "blaze-markup-0.8.2.8-fdd67c472aeaad23447a327034c91ec59091bf04" UnitId "blaze-svg-0.3.6.1-018bd9b730822ed71acaf3e92ece31ed75d8f4cc" UnitId "cereal-0.5.8.1-fb4e2ce9f323d8d3af660eaaa4f3272851556ba6" UnitId "cereal-vector-0.2.0.1-27775cb08d13916540838620a1791060e27830c5" UnitId "groups-0.5.3-f152ab5591f66016f90962b5a279085467690853" UnitId "monoid-extras-0.6-27896b86fcba81840a6dce9dc0bf0cbb801d84dc" UnitId "newtype-gener_-0.6-aa3c176ec3ce06fffb7928a208de2931368d3b88" UnitId "dual-tree-0.2.3.0-7d190543cdc015ce029b268e622941f1d4cf1a24" UnitId "binary-orphans-1.0.1-a6b0dbdcc2d061db1fd6ea338d7a9fab00cf42aa" UnitId "bytes-0.17.1-397c232dadc8803e4c0e6b8a151fde1ec5728ae3" UnitId "splitmix-0.1.0.3-41f94109b0e3be53ebd450db20ba985e772b3ae4" UnitId "random-1.2.1-fb03281937692f1e9be31809dd19ca04c5d61e62" UnitId "linear-1.21.7-4fc8b354ee24dc68ee59222cc9fa7e7d4b42c1bf" UnitId "diagrams-core-1.5.0-aa632f7796a26ac2859d10557d3c3c505722a3a9" UnitId "zlib-0.6.2.3-920d32f5f61899f22d6d65ee0e558f97dfad7993" UnitId "JuicyPixels-3.3.5-1e7b7b1ed1a3ef81cd1702340c12ba2c87d48332" UnitId "active-0.2.0.15-0f42d4f7c5de8719f4b85baa7d191d7b61bee07f" UnitId "diagrams-solve-0.1.3-de80fbb015e052971dea8c2b2857704be7791cb9" UnitId "fingertree-0.1.4.2-79bfd9282b8af01bc641031375e023fec7682882" UnitId "async-2.2.3-ab02df1385e962b95023b56083dd26eaf0ac3bd5" UnitId "unix-compat-0.5.3-8e5ec8dd5002a02828e8a32dcdd86b22fceaeaec" UnitId "fsnotify-0.3.0.1-24cf7e20a530f8362781a3397375b052e3c0903d" UnitId "intervals-0.9.2-935e612659f0da7e10602be0e872d9a740c9e398" UnitId "mintty-0.1.2-22589d95f92941897ce86085758344347bfd0c3e" UnitId "ansi-terminal-0.11-176b32c23035aade5b29281f1b8b85d45ff341e9" UnitId "ansi-wl-pprint-0.6.9-dd45635d0053615037f56f084e9c718ca70b08be" UnitId "optparse-appl_-0.16.1.0-b0a5ccd880698bb2bb3895e0985cbed2cc470a20" UnitId "diagrams-lib-1.4.4-c11eedb033ed70163a66dd73ae2895ce5589be02" UnitId "split-0.2.3.4-486c1b89824c210f041bdd984077f1469d4753dd" UnitId "xml-1.3.14-9b1ff5abeac903a1f7772ae5f31b51cb0096d9bc" UnitId "SVGFonts-1.7.0.1-2bf16496345abd0be6ec5d2fb52ac000e43685f1" UnitId "statestack-0.3-254baea532e486e3a5ae9d194bc7cd0a92ae3d1d" UnitId "diagrams-post_-1.5-c8fed52fdf871a121317de48f402185f5e848d6c" UnitId "base64-bytest_-1.2.1.0-7ffe83c545ee78fab5b0b5ce1e227146f464b57d" UnitId "svg-builder-0.1.1-051174acbf87d761a1b3ead430cbce5398366a96" UnitId "diagrams-svg-1.4.3-0c2a8384f4cccba232ab8ce732e65233387eedf4" UnitId "Chart-diagrams-1.9.3-cbf567a2c6b6ff35b378a87a8288c3078c963845" UnitId "Diff-0.4.0-552d16621a45eb804eb9d2f8369e609286327d7d" UnitId "dlist-1.0-32986deefa94a11f56e99b97a6fd6762b59e5486" UnitId "Glob-0.10.1-1619dcbea4737f1ff2906c9b8aba06fa27e9599c" UnitId "HUnit-1.6.2.0-383966605ae45ea0fadd74425e339bb1d70d1210" UnitId "HsYAML-0.2.1.0-e745d9ed3d210190f5347ea778b00f07692d128b" UnitId "base-compat-0.12.0-a1f246f18d356ba6a6f59e9517ea20c0b3a7a43e" UnitId "base-compat-b_-0.12.0-8bf3e651f6311d98ebd51bc81d9487c1ccb407c1" UnitId "data-fix-0.3.2-f6bf2ec2a0bb33d2ef40f4be6e5df7e04735a20c" UnitId "time-compat-1.9.6.1-7272d8add7b2e9736923a6c6b0643fdc61f0200d" UnitId "uuid-types-1.0.5-6c2200f0c8101f7bd75199e91e35f7bc22acdf8b" UnitId "aeson-1.5.6.0-60efa2eca31c44296e85963209a68419b9ea3afe" UnitId "HsYAML-aeson-0.2.0.0-0e88177949ea17d61429c6212a6fda94e9609017" UnitId "MemoTrie-0.6.10-963f32bd3c98c73d1b4d4fb5736858cb2f307434" UnitId "MonadRandom-0.5.3-9fabc2b3add4d09085f62b35e4743aa9b9cead1c" UnitId "NumInstances-1.4-eba63ced42bb49d9777505bdf7ac60185736a20f" UnitId "Only-0.1-a0f9afb097cc617653678ea0610669380234dc6b" UnitId "QuickCheck-2.14.2-2c5d8f542cd31b6807b32104d4491cb95fd8a9d8" UnitId "aeson-pretty-0.8.8-735e9f0bd04c38a6e15425f5a6c932537a455538" UnitId "cmdargs-0.10.21-ade59647251a042c68581fdfba3c942009d33009" UnitId "aeson-pretty-0.8.8-fa138856145c9560f2468bf82319662df011b259" UnitId "alex-3.2.6-9dc4c4de14eba8bfd9a6265d24c956b9605384b6" UnitId "algebraic-gra_-0.5-2b6da82a77ad9df88b30be2699f22c6b5f3ab59b" UnitId "clock-0.8.2-18ecb90b9a5c54cc49c3c3dbc48469293fe3d9bb" UnitId "extra-1.7.9-08008b8f38f1bf95a29a3081ceb2be6c51859bc4" UnitId "filemanip-0.3.6.3-9cde10a849a9b8890a525de06224c87721adfeea" UnitId "ghc-boot-8.10.7" UnitId "ghc-heap-8.10.7" UnitId "ghci-8.10.7" UnitId "hpc-0.6.1.0" UnitId "ghc-8.10.7" UnitId "ghc-paths-0.1.0.12-3db7772a595923d40beae17f133094378981f5c9" UnitId "syb-0.7.2.1-50ffceb68213abdcfb1b2c851e37bbecb8ea893b" UnitId "ghc-exactprint-0.6.4-a6ff488ff281bf5b3fb205e21a0498cf5a34bdee" UnitId "refact-0.3.0.2-fc4e07f6e6a669ec2ef823ebd28e8d92ac3ead33" UnitId "uniplate-1.6.13-d57bcd4df214cab48cfa2f53744cd7a749746d9b" UnitId "apply-refact-0.9.3.0-a1a91859ddf9c831265ab81b0a4ec4f78eba444e" UnitId "apply-refact-0.9.3.0-e163e1d953d9ed743e4ce4054921686fc2efd6ad" UnitId "atomic-primops-0.8.4-365061ddd84a6c7725595edd853a53f98f9ffd2c" UnitId "base16-bytest_-1.0.1.0-a08d5e65db8cd62ea184583ab8e34d06f3cd4ddf" UnitId "blaze-textual-0.2.2.1-072d0d76c7dc06b3dd5cbc7289472e1eef2d7344" UnitId "strict-list-0.1.6-f3435a35c3c561aecf72a5999d423a1ec735ed0c" UnitId "deque-0.4.4-f0d86717a68899057dd10d100e7ef29f05f2a32d" UnitId "microlens-0.4.12.0-f1de0d65f4b591518321aca30fa63228817a2795" UnitId "microlens-th-0.4.3.10-ef0dd4ce9bcebb22ab1b540b42acddc5cda070ae" UnitId "monad-control-1.0.3.1-36b334f398e6f7c99a686626b65b60cdee887cb2" UnitId "multistate-0.8.0.3-5e3a9f5586f7a95a82ef301172cf3f319d04ab9e" UnitId "unsafe-0.0-d8c0205b9513b78e7746a8f8a7d5f4dfb831b17e" UnitId "butcher-1.3.3.2-c5f2da0001bce24dfd528f14ec291e1e322a4648" UnitId "czipwith-1.0.1.3-4742ef9578cbc95d10ac5d61ca82c94715f62bae" UnitId "data-tree-pri_-0.1.0.2-fee40e04d4992161ab71fe03a74e9ea225b37587" UnitId "monad-memo-0.5.3-3fa8ea0cb05cf582c8c152c5144b29aefc3e0e07" UnitId "safe-0.3.19-dfc84c6ee048f3015aeafc361dd25b4d053de7dc" UnitId "vector-algori_-0.8.0.4-6c0e0d47ad3cf3b03959aa87bb6143b5d57f288f" UnitId "mono-traversa_-1.0.15.3-6a10f0f00edcf67a49c0eecc52062332c1a7f544" UnitId "unliftio-core-0.2.0.1-1ec0f8039387c7af6ba7ca90078be3cd88c4dc95" UnitId "resourcet-1.2.4.3-6a50bbfc82cb923bf4ba741684f32a9a66d6c5d2" UnitId "conduit-1.3.4.2-b7891c9c63630abaa7eb33070063959d74e46596" UnitId "libyaml-0.1.2-af4f054cd8208ea7ed8f6da4bb258e060c752326" UnitId "yaml-0.11.6.0-d6b71695a49ab6f676ddb59470cb33fae6f9d6bd" UnitId "brittany-0.13.1.2-6bc398645c1a4ac16f82a79be7372ff8f15c1302" UnitId "brittany-0.13.1.2-30e764d1a4db11258c4d48d03fc80526b378dcaf" UnitId "bytestring-en_-0.1.1.0-041ed19446bdfa117914b7245be34b9399fabebc" UnitId "cabal-doctest-1.0.8-2f6ee21c027c327ec7f5b2a47a5c9ac84e25ddd4" UnitId "case-insensit_-1.2.1.0-dc3ca56737c4f564f29dffa3266ad0e4d13adb52" UnitId "charset-0.3.8-f5bd8dd4107527e4ac8309f263102d174e90d5ea" UnitId "circle-packing-0.1.0.6-075ea663fd53d98cafe8f59b17b677dbb90cdda8" UnitId "hsc2hs-0.68.7-6d492711d55349d0647b253e83c44a157d20f6b9" UnitId "network-3.1.2.2-f44e76d4f853b6074ef0de09008d4d718614c6a9" UnitId "streaming-com_-0.2.2.1-dddef996cbaf166573d885fff1a5b08e79e7e5df" UnitId "typed-process-0.2.6.3-31ed9d2ac0333e038b80064daf7e6c4249485b6b" UnitId "conduit-extra-1.3.5-0ef39f99d802c98de0096170295a473e03e93848" UnitId "parsers-0.12.10-96dac63cde1934e02319ed9b09d30685d240c2ef" UnitId "safe-exceptio_-0.1.7.2-ae25dc3e3d69c88b6605a43740767b60b17cf77d" UnitId "conduit-parse-0.2.1.0-3346bdfb3b4e83e0f99c00e36e3ec2866b520615" UnitId "type-equality-1-bc0652bee198b9059544172c39d0c3a8a5e5dc06" UnitId "constraints-0.13-e4c507c2fcf3b7ed8bd9deab15279dfb1d1095fa" UnitId "constraints-e_-0.3.1.0-46d907548de3a6dfa1575082516f19623ce7078d" UnitId "constraints-e_-0.3.1.0-8af456003c22e8ca2661c738075423ac48210559" UnitId "polyparse-1.13-6bae2fcfc34c18509731a42591c0ef2690250d69" UnitId "cpphs-1.20.9.1-58b0dac881b1701898f166bd8cc709e79d2e199f" UnitId "cpphs-1.20.9.1-fe5f719c065dc261c92059c9f40bf518d8d33bcd" UnitId "cryptohash-md5-0.11.10_-e167dc28b1ffd4fe79bae1395f6117096259a2df" UnitId "cryptohash-sh_-0.11.10_-53d72cc4085ca11d9160b9f05d43194ae4bb3cb1" UnitId "fast-math-1.0.2-45a581337f24e2eeb5d2de0875642e6afc050f34" UnitId "integration-0.2.1-539c2925950b669ad6995dc864270196ee69d6df" UnitId "matrices-0.5.0-5d08a332b40e20efc2be7684df0c1bfc5bc8c8d0" UnitId "microlens-mtl-0.2.0.1-270f5c1993ee92ba817b81285ad4a347523975eb" UnitId "vector-space-0.16-059f573327f2c99cb8f03cd43f7e190ec02a94cb" UnitId "cubicbezier-0.6.0.6-fc5a53806659d61b5ee2beeba0be24d4680b9edb" UnitId "data-default-_-0.0.1-8009c8eb9cb900391734e14e43555a547dc36ccd" UnitId "data-default-_-0.0.1-b5bed8158517f80dbfabcedef17d54f43fae9254" UnitId "data-default-_-0.0.1-e1f5eb103b6f81a7037ad735ba629b109e8245ee" UnitId "data-default-0.7.1.1-142bbbff0d943333c3a05184cae52541867cd176" UnitId "some-1.0.2-e180b063156d40f8c43f98fae1765e2cb09ff6f3" UnitId "dependent-sum-0.7.1.0-5eb29748e6f6ad6cc91979b17b5f4ccd3ce4f9de" UnitId "dependent-map-0.4.0.0-e90e5e227300b787d133e2bbe893bb1a8e6a0399" UnitId "th-extras-0.0.0.4-0a574258011ffcbc1ad9fa4ce452382ea042f8d6" UnitId "dependent-sum_-0.1.0.3-5e22bdef267416bb2151406c7cbe46c6be05547a" UnitId "force-layout-0.4.0.6-339502bff011e54cd546cbd96612082dbbd67df2" UnitId "mtl-compat-0.2.2-dc5012bf71321af9d2169073a5a8d479f54a24e6" UnitId "mfsolve-0.3.2.0-761cdf5974a0ff91cef8fdabee1a9537cf375958" UnitId "diagrams-cont_-1.4.4-8e8b1a810fe507bcf2ce52d0cd89a0ad20db29ef" UnitId "direct-sqlite-2.3.26-0595bcc1f6a1afb37a8811b31c2994e4982133f3" UnitId "entropy-0.4.1.6-cf6ba9127415b140cdb910faa362727f7387f7bb" UnitId "file-embed-0.0.15.0-8f2c65f7bea4d4b28f63c99879667499d0e88f22" UnitId "filepattern-0.1.2-3b1f7a439495618a768a41c69ed48d7114bdc739" UnitId "happy-1.20.0-6ea9ff827d79e2af427934379952811b1e8f2638" UnitId "haskell-src-e_-1.23.1-a5f68df0812dc966a4f29bc0add2a10a39371c8e" UnitId "psqueues-0.2.7.2-cfa5cd5bdf195624d87871470a69f01ff8a7c0ac" UnitId "monad-dijkstra-0.1.1.3-8d74467b01383580e20c862c74db6269e9bc0fe4" UnitId "utf8-string-1.0.2-dab3a8441b86362df2bea3b1201f4c0c1f024ad1" UnitId "floskell-0.10.5-261f9b1c057731c99ae3e9237893cb4edca2a9b9" UnitId "floskell-0.10.5-2500d920af7954301ab94155a4cbe118b17e5c27" UnitId "foldl-1.4.12-408dcf2c97b96343dd3ffcebc9cb112f02955fa4" UnitId "ghc-lib-parser-8.10.7._-9fb3051e11f45e279f65ddb8f0d7aac023816c7f" UnitId "fourmolu-0.3.0.0-709d7264a7849a58caadf333b83627612879a896" UnitId "gitrev-1.3.1-2e2f83fa5657a5645007e5bf8fc1127abe6f1d1a" UnitId "fourmolu-0.3.0.0-7a8d30bc3de1bb3b3fceb7128922ab218c9676f7" UnitId "primes-0.2.1.0-e0afbb4ec5517d2cbb656f7ddc10570ec9438e23" UnitId "monoid-subcla_-1.1.1-23a3a69e021fdc79a385fbb1a02b5928c146849c" UnitId "fuzzy-0.1.0.1-6c43195a96d578ae1264f07643a0cbab1e21bc4f" UnitId "indexed-profu_-0.1.1-7394927db2554480ec4e93a5d95b51285e23c3ab" UnitId "generic-lens-_-2.2.0.0-46e068314653e25b196030fb79047fd8b79a2aa4" UnitId "generic-lens-2.2.0.0-01893c4fd8e73900201b865d89797f5fa250c6b4" UnitId "th-compat-0.1.3-dddc54c3f4ff0b4d82106882a185742d1d8d92af" UnitId "ghc-check-0.5.0.6-2344ff78b5054f5888c22214e0df1bf5be5c5911" UnitId "ghc-lib-parse_-8.10.0._-2a36c0ae4b21461a556c34a72e318c24368af28c" UnitId "ghc-source-gen-0.4.2.0-c49da93c58219bbf36447ca6229688f1310ef598" UnitId "ghc-trace-eve_-0.1.2.3-fccfe55d2a2418e31882fee3b96f7b62a7f9a324" UnitId "haddock-libra_-1.10.0-114ad76465898af27ba74ed453a20bd467de789d" UnitId "hashtables-1.2.4.1-4cf4bd9e0c48de2b97cc268f8f8920118cdf790b" UnitId "heapsize-0.3.0.1-2c4964a05e3ae0fcce6047ab2608d9038f11d055" UnitId "network-bsd-2.8.1.0-c612a6c9937be116047d3438f242c8000c5734b0" UnitId "hslogger-1.3.1.0-1735faaac303ab221ce4d1a4aaf2ef29760f2d49" UnitId "temporary-1.3-5693260d80e1e8db0cc27258773ae5f39d6c28b1" UnitId "hie-bios-0.7.6-cc1318a98963417d2532ecdef9c36150621b343b" UnitId "hie-compat-0.2.1.0-8cb17be91b991d64c62452ed14cd5f2b7e156ab5" UnitId "mmorph-1.2.0-e971699383d47dbe075b020bbf76abf2a8d5c1b3" UnitId "lucid-2.9.12.1-d3faad98b7cb90454c6c8a217169f473f296f574" UnitId "sqlite-simple-0.4.18.0-766e321e077ee4d5098415cf7c333fa5ee28ca0d" UnitId "terminal-size-0.3.2.1-bd8ac823c87fc7c95f3552f2ea5a413d5280f6b7" UnitId "hiedb-0.4.1.0-6cff269689b68698404352bdc06dd2dcaefa1d6f" UnitId "js-dgtable-0.5.2-a6336caaddf6527aacf4759bfb5e3bfa46a8e6bb" UnitId "js-flot-0.8.3-7052d069247afe12970d45a5d215328de3dbf9e3" UnitId "js-jquery-3.3.1-27cf8b5c937b17f57fbbb808c7901fa03f0ef851" UnitId "hls-graph-1.5.0.0-12e7351a6646fe67d43493fb6b9eaa2380a20b13" UnitId "network-uri-2.6.4.1-eac2c06f0504f429276566d838356747dec4d761" UnitId "rope-utf16-sp_-0.3.2.0-a7c32f983d622ac8e521a9b23b6ef8ad45fe2ee2" UnitId "lsp-types-1.3.0.1-3589030fe1ffd0580f2aebdea515b312dd9b5f2c" UnitId "sorted-list-0.2.1.0-d697e7594ff38cf2e3529d68b577e57ee81d9590" UnitId "network-info-0.2.0.10-0d9608a2e6eecc04166a896ea5923db7b5d77d92" UnitId "uuid-1.3.15-37857988589541c11c0fd00372bef37e16f1706e" UnitId "lsp-1.2.0.1-83da28387b660f48a835930e74545486be9b50d2" UnitId "opentelemetry-0.7.0-11cd17f761daa50c30057a770ae8de83b1d7965f" UnitId "regex-base-0.94.0.1-a541766b37f242505018797222d396c24eae8bae" UnitId "regex-tdfa-1.3.1.1-6fa05210372fe61c71f1089a7208f5309cc7f445" UnitId "hls-plugin-api-1.2.0.1-059768c2b285a95bb08a6265b70b7e7ad5d70ee4" UnitId "implicit-hie-0.1.2.6-4441444310e3142b7c62bf32acc1b8b1ca1119bf" UnitId "implicit-hie-_-0.3.0.5-e68b09864e5bee0db9206b9b0fcb3f34e5bfce24" UnitId "prettyprinter-1.7.1-585932ecaf1bbba34ae3314128934c48c828f8f1" UnitId "prettyprinter_-1.1.3-90f0276d5452346aa1b4a8022fb1be333227b49b" UnitId "random-shuffle-0.0.4-6e42e9a1fba39a1514b7a9b1c52bf861867e0fd8" UnitId "retrie-1.0.0.0-4a778cb67224ad1aa2d8147cba8e3cb0eeb1b795" UnitId "unliftio-0.2.20-1c270c9a9b89d2915ecaf894ff1e6150c6dce9c9" UnitId "ghcide-1.4.2.3-01d52626fa59c36080938e0889aceac91357aac4" UnitId "ghcide-1.4.2.3-997fb18e88fce5bc926b531bb476fe596dc6931a" UnitId "parser-combin_-1.3.0-abfdc6d7e26b532014a3a658a761370e4787078d" UnitId "lsp-test-0.14.0.1-8158ab410025a280dbbf92b746d5db75334736c9" UnitId "heaps-0.4-7136e2bbbd329391275489dd3cc98d0583bd81f4" UnitId "shake-0.19.6-07d37c7f09d5aa94273eeb3e0acd771d7c32f570" UnitId "ghcide-1.4.2.3-838ca73d7c9e55178872e083399bc04389858302" UnitId "ghcide-1.4.2.3-d6ce2751621395fa2ba1d2ce51e0d2619288e7dd" UnitId "githash-0.1.6.2-3c3933f44fedccf91d291871e66ae2d67bbfc5b2" UnitId "optparse-simp_-0.1.1.4-51d7ab12535729827291dbb44de500aacb30759b" UnitId "haskell-langu_-1.4.0.0-2f90bce0034034c9f99d4f1a8458e17207706182" UnitId "hls-brittany-_-1.0.1.0-1ae8ec6a6888d5dc2afb884dd5291aca83046f50" UnitId "hls-call-hier_-1.0.1.0-017205d9a1446b856802ce1468f7aa9389f9a36b" UnitId "hls-class-plu_-1.0.1.0-9bf9b2d0a02a2a8132aba0f6c4b4b0bbeac3f24c" UnitId "megaparsec-9.2.0-a735d3f67f0579c9e790f7d1209626be146a7e0e" UnitId "pretty-simple-4.0.0.0-8cd8d1d4da9ccbcb6124067b82aaffa9b7a24a35" UnitId "hls-eval-plug_-1.1.2.0-eaad2a97a2d5ac92694ecaf51712d255f0aa6504" UnitId "hls-explicit-_-1.0.1.0-f789803e3b6734d644d962d36f491bbeeace7cb1" UnitId "hls-floskell-_-1.0.0.1-dd9f206afd1de7098fc6af3ed7a0b89362e658b9" UnitId "hls-fourmolu-_-1.0.1.0-ed68394363f832e016dafc1f4ebc1bcc5fffd729" UnitId "hls-haddock-c_-1.0.0.3-1cce0ce3c01c396fe94c6f1f3358cae3bf5dc8a4" UnitId "hscolour-1.24.4-973a500c6cd3ee30fddd9d125e41c77871ebc8fb" UnitId "hlint-3.2.7-54c071f4a56e44c24118a82d19471b35ee68a437" UnitId "hls-hlint-plu_-1.0.1.1-946e5e8d03e6e75536df806ec19852d0ef1780ad" UnitId "hls-module-na_-1.0.0.1-10322210bce56fc9a516c893304b353cf2402864" UnitId "ormolu-0.1.4.1-00b5b111e74da18ad431c7fa7e7d79bfe15b99a4" UnitId "hls-ormolu-pl_-1.0.1.0-95b6fbfdec686115072e9219cba119814aa1d222" UnitId "hls-pragmas-p_-1.0.1.0-7778d58a3402e5720e6c3b62d5333606a982d549" UnitId "hls-refine-im_-1.0.0.1-5e218a7346ce1ba4f1b6b165700458c138fb02a3" UnitId "hls-retrie-pl_-1.0.1.2-7a61ffa7be343534f6296ee1c837c86e0011755b" UnitId "hls-splice-pl_-1.0.0.4-76fb536ce04f9124bfae0c5baddf947b71aa9efc" UnitId "stylish-haske_-0.13.0.0-2e7a00e7b38760094e4b5156322cce32885d5dd5" UnitId "hls-stylish-h_-1.0.0.2-97b449981b4360a4eb4d3aa9ab3d2843338abe99" UnitId "hyphenation-0.8.2-4d40ac39732410bb9ece764df36c873fcd50918d" UnitId "refinery-0.4.0.0-b28b0c0949ff3c1bf9a086ebaea36c9f82d77de3" UnitId "unagi-chan-0.4.1.3-c707e0351cc953efee9b025e15ed46333a2e4e85" UnitId "hls-tactics-p_-1.4.0.0-d90f76de4d2d9db2637e09727375664f3e948584" UnitId "haskell-langu_-1.4.0.0-3ae9a19cdb811f8fafe7d2972e4b0bfec72383cc" UnitId "haskell-langu_-1.4.0.0-63d91ed4b405a0a59533ef4f922a0789aa87ad5d" UnitId "hie-bios-0.7.6-e16614d564e316b1e9e363e163e48f4e5e68a24e" UnitId "hiedb-0.4.1.0-d2bc1a19407edcab42f91a137830619ec2af708a" UnitId "hlint-3.2.7-f3aafceb01b1953979dd42c9fb346d0c025b576d" UnitId "hls-rename-pl_-1.0.0.0-e2f1301fb1e9145a8473021d286e44c88d17a0a9" UnitId "hspec-expecta_-0.8.2-98f9cfe6a42f29497bd0e7d6b60834b1d9fd7fb4" UnitId "quickcheck-io-0.2.0-e56d7b6fd41782443f7405b2e8d510c7c0e29a22" UnitId "setenv-0.1.1.3-8c3c3d29246a8d7884de90c622bfd7c4975bd65b" UnitId "tf-random-0.5-dec9b1701e88f8c4efdbbfa7b16df8d4f0712d29" UnitId "hspec-core-2.7.10-f3adcfdedcb953b96ab54193eb18cd1970bfb40c" UnitId "hspec-discover-2.7.10-3335b796f52555ca9ee2345fdaeaa64a37ea7672" UnitId "hspec-2.7.10-1cc7b41415039d447f4ed26be83522267917079a" UnitId "unbounded-del_-0.1.1.1-a513b41107f867c21bb7c04d1470e8119f5df875" UnitId "tasty-1.4.2-6efdaf8a0f49dc1e72988c1dcf7f7ee5fc7e6402" UnitId "tasty-expecte_-0.12.3-b588d4bc2b36260bc0c58b45b27ff1fe78867112" UnitId "tasty-golden-2.3.4-96d5bca1696f7091d22e35507ff77d21e9bf199e" UnitId "tasty-hunit-0.10.0.3-2beaf0c4638189d413707ea57bff0e9a69f15e07" UnitId "tasty-rerun-1.1.18-4c19c8b2fab10192bc116d7f0a0ad1a00a6be5a1" UnitId "hls-test-utils-1.1.0.0-60d12608abad99e0cac81665da1a71393a4782cd" UnitId "hspec-discover-2.7.10-96118507334133bb540648509c558eca4e825090" UnitId "implicit-hie-0.1.2.6-9ee86048eb8d43cb593ea394254542d4927cf7e1" UnitId "operational-0.2.4.0-1af0311f9dc3df27e5d3d20b14c8847403de6874" UnitId "ormolu-0.1.4.1-18877286f083cbc522a1b731d9bff95ab2675590" UnitId "retrie-1.0.0.0-273115b1906674b13c0c68a6b57ad7017315aebc" UnitId "retrie-1.0.0.0-40f656b18df56d9fa7d7a44562bc6521dcafb10d" UnitId "shake-0.19.6-a5b95d2aa91f4a9bb74bea6a568b6448b95282d7" UnitId "shake-bench-0.1.0.2-7b87eac26d50afc64dcf5d6795742c480af1d7ee" UnitId "stylish-haske_-0.13.0.0-c3264f06730d303baaf12b72e5271a1a7ddd6eb8" Direct deps ~~~~~~~~~~~ ```

EDIT:

Mikolaj commented 2 years ago

Edit: apparently, the below doesn't make sense apart of pointing out the connection to #7297, see two comments down.

.

@jneira: I do not claim to understand this, but @phadej says it's expected and hard to avoid that unit IDs differ between build and install: https://github.com/haskell/cabal/issues/7297#issuecomment-939330830

Given that, I guess it's unavoidable that rebuilds occur. Perhaps we need to dig deeper into the IDs and/or #7297.

Sanity check: the unit IDs in the plans you attached do differ, right?