On 2017-11-13 08:30 AM, Michael Orlitzky wrote:
> The thing you want is called a package manager.

Evan, have you considered using Nix? It's a package manager that sits on top of the OS, and works on Linux and Mac OS. My Haskell development has been much happier since I switched to using Nix.

Pros of Nix versus using cabal sandboxes:

1. Nix shares built libraries between projects, so doesn't chew up gobs of disk space for each project
2. You don't have to build huge numbers of libraries from source for each project, due to sharing. In fact, due to Nix's binary caching, you rarely have to build libraries from source at all.

Cons:

1. If you want to use a newer version of a Hackage library than the one in in Nix, it's more work (although the packages track Hackage fairly closely).
2. Occasionally the version in Nix is broken.