<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
     On 2017-11-13 08:30 AM, Michael Orlitzky wrote:<br>
    > The thing you want is called a package manager.<br>
    <br>
    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.<br>
    <br>
    Pros of Nix versus using cabal sandboxes:<br>
    <br>
    1. Nix shares built libraries between projects, so doesn't chew up
    gobs of disk space for each project<br>
    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.<br>
    <br>
    Cons:<br>
    <br>
    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).<br>
    2. Occasionally the version in Nix is broken. <br>
  </body>
</html>