Add support for multi unit argument syntax#3462
Conversation
b4c878c to
7ab7989
Compare
7ab7989 to
90ab9fb
Compare
|
What happens if the closure property is violated? That seemed the main point of design on the issue? |
| @@ -0,0 +1,2 @@ | |||
| packages: a b c | |||
| multi-repl: True | |||
There was a problem hiding this comment.
Probably the new cabal feature that uses multiple home-units when loading them into a repl?
There was a problem hiding this comment.
Yes, @fendor is right, I generated the -unit files by using a special branch of cabal with the new feature and then editing it a bit.
This cabal.project isn't necessary or even useful in this patch so I will remove it.
There was a problem hiding this comment.
With the cabal feature you can set up your hie.yaml to load your entire project including all components with this patch like so:
cradle:
cabal:
- path: "./"
component: "all"
There was a problem hiding this comment.
I am interested to know what branch and what @mpickering is planning there, and whether we still need the work from haskell/cabal#7500, or whether the changes done in that fork render cabal status command irrelevant?
Maybe we can briefly discuss that at the next meeting.
There was a problem hiding this comment.
Here is the branch, it is still a WIP: https://github.com/mpickering/cabal/tree/wip/no-configure
We get the same error we would get from GHC, which is not ideal and could probably be improved. I checked if recovery is possible once more components are loaded but it seems it is not, so that needs a bit more work. |
I think that things should carry on working for the unit you have currently loaded but just ignore any files which would be in the new component (until the require components are loaded in). |
|
I tested again and the closure check seems to be working properly now. But I think the question I raised about what should happen if the closure check is violated is still unresolved. |
|
Branch appears to no longer build due to a version mismatch of hie-bios. What's the plan @wz1000 ? |
|
I think, the plan looks roughly as follows:
|
cd9cc3e to
ed8f16e
Compare
08c3bb6 to
f38beda
Compare
6b62b97 to
f12d434
Compare
83f1b4e to
7242673
Compare
dc7af27 to
224c72e
Compare
0a1efdb to
b86b98d
Compare
5d708f3 to
915b59a
Compare
915b59a to
2cdb033
Compare
Implements the argument parsing logic for multiple home units found in GHC 9.4: https://downloads.haskell.org/ghc/9.4.4/docs/users_guide/using.html#multiple-home-units
We now support arguments of the form
where the response files
unitAandunitBcontain the actual list of arguments for that unit:Also refactor the session loader and simplify it.
Also adds error messages on GHC 9.4 if the units are not closed (#3422).
Depends on haskell/hie-bios#387