[Well-Typed Blog] Multiple Component support for cabal repl

https://well-typed.com/blog/2023/03/cabal-multi-unit/

15 Likes

Very exciting! I’m not quite clear on where HLS stands - the blog seems to suggest that HLS already works, but then also needs a cabal repl with multiple home units support. Could someone clarify what’s needed to currently get the best experience?

1 Like

A cabal release that gets the PR merged would be the first step :slight_smile:

1 Like

From the Cabal side we’re very excited to have received this contribution!! And personally I know that this will greatly encourage people to draw boundaries between the component of their code if ghci/ghcid work seamlessly with it. At least at work this will allow us to restart the tests when the library code changes

3 Likes

I think the HLS PR for it is Add support for multi unit argument syntax by wz1000 · Pull Request #3462 · haskell/haskell-language-server · GitHub, which, once cabal multi-repl is merged, allows us to use HLS with cabal’s multi component support.

2 Likes

Looking forward to having ghcid restart on library dependency change! I’ve been using the flag hack, but that of course doesn’t scale across number of local packages.

cf. https://github.com/haskell/cabal/pull/8726#issuecomment-1472868209

4 Likes