<html data-lt-installed="true">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi!<br>
    </p>
    <div class="moz-cite-prefix">Ivan Perez wrote:<br>
      > It made installation of Haskell packages for newbies easier
      too: create a sandbox. mess around in it, and if you want to start
      over, just erase .cabal-sandbox. Done! <br>
      <br>
    </div>
    Just chiming saying that I dont agree with this. I don't know a
    single person from my personal life who managed to use the sandbox
    successfully.<br>
    Quite contrary, personally, I used to be a flaming stack advocate
    because I was never able to use cabal for anything.<br>
    From my point of view, cabal's sandbox was a weird mess that was
    hard to understand. Also, stateful mutations seem much more
    complicated and error-prone to me.<br>
    <br>
    Ivan Perez wrote:<br>
    > the fact that v2-install --lib has not always worked well for
    me. <br>
    <br>
    I agree that `v2-install -lib` is a terrible interface, but
    cabal-env shows how we can implement the desired functionality quite
    beautifully, avoiding as much as stateful changes as possible.<br>
    <br>
    Ivan Perez wrote:<br>
    > This workflow (installing packages in a store in the project
    directory) should be not just supported, but <i>encouraged</i>.
    Keeping all changes local <i>should be the default</i>. <br>
    <br>
    I don't think this should be the default, in my opinion optimising
    the installation times, etc... is, especially for newcomers, what we
    usually want. You yourself said that you use this on very large
    projects, so, isn't it more reasonable to make experts jump through
    the extra hoop, e.g. by using cabal-env, to get the workflow you
    want?<br>
    <br>
    Best regards,<br>
    Fendor<br>
  </body>
  <lt-container></lt-container>
</html>