6 ms·
Haskell's stack tool is aiming for something like this. All you need is the stack binary. stack will download GHC for you at a given version, and fetch your d
by jwhite 10y ago
Haskell's stack tool is aiming for something like this. All you need is the stack binary. stack will download GHC for you at a given version, and fetch your dependencies for you. The dependencies are locked to a fixed snapshot of versions. There are curated snaphots, with an LTS model that guarantees all packages in the snapshot work together, so you're insulated from package authors randomly breaking API compatibility on you, and you can upgrade to newer LTS snaphots when you're good and ready.
http://docs.haskellstack.org/en/stable/README/ http://docs.haskellstack.org/en/stable/README/
- rspeer 10y agoI'm starting to use stack for the one thing I do in Haskell. Is it really true that all you need is the stack binary? No shared libraries or anything? When I set it up starting from Ubuntu packages, the process was still convoluted and involved bootstrapping from an older version of ghc.
- jwhite 10y agoIt seems true on OS X and Linux. I'm not sure if it's 100% statically linked, or if it depends on a particular version of glibc on Linux. Edit: I would check, but I'm not close to a linux box. I haven't tried it on Windows. The download instructions say it depends on libffi, libgmp and zlib, which I didn't realise, plus some other tools (gcc, etc.) which I assume are for building packages that wrap C libraries. http://docs.haskellstack.org/en/stable/install_and_upgrade/#linux http://docs.haskellstack.org/en/stable/install_and_upgrade/#...
- twic 10y agoSounds good! What about getting the stack tool, though? Is it in the package managers at a useful version? It doesn't seem to be in MacPorts. Does it change quickly enough that you need to ensure you have the right version? Ah, i see that the installation process is: curl -sSL https://get.haskellstack.org/ https://get.haskellstack.org/ | sh Perhaps each project should include a shell script which does this!
- mcguire 10y agoWhen did "curl | sh" become an acceptable install process, again? Let's Encrypt uses it, too, but it makes my elderly sysadmin heart spasm with terror.
- twic 10y agoIt gives me the willies too. But it's not really any different to running the build script in a project you just downloaded. curl | sudo sh is much more of a problem.