Live data from Hacker News

Ask HN: Why does every package+module system become a Rube Goldberg machine?

news.ycombinator.com

221–222 of 222 posts

Re: Ask HN: Why does every package+module system become a Rube Goldberg machine?

#221

Earlier quoted context omitted.

It's not actually tied to GitHub. If GitHub died tomorrow, they would easily be able to move on and host the packages somewhere else. There's no way to do this without hosting. Also, there is a way to pin a version or commit. Julia for example always stores the exact commit information for all packages in the "Manifest" file. There are also straightforward ways to demand certain versions and package maintainers have…

There will be a mess of dependencies of old projects that depend of projects that have since moved off GitHub, there will be name clashes between GitHub projects and BitBucket projects etc. These ecosystems are very much dependent on GitHub, and if/when anything permanent changes, it will be a mess to move off of it.

If the git repo url is content addressable, using p2p network like ipfs / zeronet / magnet link, then should be easier to move the storage provider to any host as long as it's connected to the p2p network.

Re: Ask HN: Why does every package+module system become a Rube Goldberg machine?

#222

Earlier quoted context omitted.

I appreciate Hackage and its lack of garbage, although I think the exclusivity can't scale. I also like Haskell's module system All other aspects of Haskell package management feel unfinished, like "an exercise left to the reader." The lack of polish is astounding. See also: "Why I Don't Code in Haskell Anymore" ( https://www.youtube.com/watch?v=SPwnfSmyAGI ) from TsodingDaily

You don't have to use Hackage. What part is unfinished? Just docs and the verbose CLI? It solves for versions, you can declare native dependencies in various ways, it has multiple solid integrations with Nix (which in turn automatically resolves both Haskell and native deps for you). Also that video is not a compelling source. That guy is just wrong lol. Or, rather, it's just his opinion that seems to be based on the…

Well sure, there's Stackage, and there's Nix, and there's some other options.

Haskell, for my money, is similar to Node.js in that I don't have confidence I could reliably expect the state of Haskell development _today_ to resemble Haskell development 5~10 years from now. There's a cost to falling behind (who wants to work on a Haskell project using 10-year-old conventions?) and there's also a cost to keeping up.

Don't get me wrong, I think it's getting better. Stack is easy enough to learn, Stackage has nice for guarantees on compatibility. Nix solves some issues for deployments, although "multiple solid integrations" is maybe a too-rosy description from my experience... but I don't think that Haskell's ecosystem is in its final form yet. Not in the way that Maven or Cargo feel like they're stupid simple and here to stay.

Post reply on HN