So going back to GHCI, one of my main issues is of course I’d like my editor to use HLS, and at least with what I’ve found with the VSCode plugin, it just calls
cabalon the command line
IIUC it calls `cabal repl` which will use GHCi under the hood.
another way I should go about getting HLS to work quickly and responsively particularly on a significant codebase
Generally making typechecking faster should help, probably also want to enable multi-repl. See Cheaper: producing a program with less developer time
really want my local dev and “prod” builds using the same package set.
You can easily get a nix-shell which will build all your dependencies with nix (exactly same derivations as your prod build) so that only your actual project, where you’ll be iterating, is built with cabal/ghci, for fast iteration.
You just need your `shell.nix` to consist of a call to `shellFor`. Throw your own local packages into `packages`, then cabal/ghcid/etc into `nativeBuildInputs`. You can also throw HLS in there, but you’ll want to run `code .` inside the shell and tell VSCode to use $PATH instead of installing HLS itself.
Example usage:
shellFor definition: