Hello. I have a somewhat advanced workflow related question. I use Linux and mainly develop in Haskell (sometimes also JavaScript), and sometimes when I have some functionality that I want to reuse, I put them in libraries or binaries. So far so good, but here comes my annoyance: when I develop these shared tools further, sometimes regressions/incompatibilities arise, and then I wish to use an earlier version (which usually has had fewer features, but more stable).
Right now, I have no easy way of doing this other than going into the appropriate project folder, checking out a version with git and building/replacing the newer version with the older. And even if I do that, I am changing the global version of that utility.
Could I somehow have the versions of these tools/libs exist side by side? I am thinking I could maybe do this with either apt-get
, nix
(the package manager), Cabal
or haskell-stack
, but I am not sure how I could do that with either of these.
Does anyone of you have a workflow that a