Is no-reinstall Cabal coming to GHC 8.0?

TBQH I think Herbert is aware of systems like Nix, but only as much as anyone here. He's not a user or developer, and the 'way' NixOS solves this problem is not a way that Hackage can work (I base this on the fact he asks me any questions about this stuff, including how NixOS might solve this problem, by pointing me to this thread with you). I don't think it's fair to accuse people of pulling off rhetorical exercises, and then turn around point out a 'solution' to them which frankly is ridiculously niche and not well understood by many people.

The Nix 'solution' would be a cop-out for us: it's substantially easier to provide binary packages when you control all binaries for the entire dependency graph. Nix can do that. Hackage can not. Suggesting Nix as the path to providing binaries for users under this working assumption isn't going to realistically happen, AFAICS.

For example, when you begin providing Haskell object files, you pretty quickly run into the question "What happens when you need object files that depend on a C library". That's not an insurmountable problem, and I can think of some solutions, but it's a pretty basic one and it's not one that Nix solves for us. You can't accuse people of rhetorical devices when the 'adequate solutions' you mention literally does not provide a 'solution' to one of the first problems.

Then of course you have to ask: what are you going to provide object files for? Do you run every single install plan, or do you just run what the solver picks up, say, every time a package is uploaded (so on every upload of FOO-1.2.3.4, try the solver and just build the first plan it picks)? This isn't insurmountable, but it's a big one. It is not a problem NixOS solves.

Nix would be an excellent tool to provide continuous integration of something like Hackage, which is something I've mulled with Duncan about. Have Cabal pick install plans, and then try to build them. Essentially what the Matrix builder does, but powered by Nix, since it can do a lot of the BS like managing libraries, which is where you want it done. But it's not a very good solution for actual binary caches, I think.

Look, the point of this post isn't to provide solutions to your problems. It's partially because I'm frustrated and I know you are too. I get the basic impression you're pretty much fed up with everyone doing everything in this community from what it looks like, because apparently it seems like everyone just wants to gaslight you or something and then play dumb, which probably happens. But at this point, accusing people of rhetorical devices off the cuff and then feeding it up on places like Twitter about how you're so stonewalled only serves to further poison the well. Stop bothering here, dude. At this point it seems like you'll feel better, and you've got more productive things to do than frustrating yourself with arguments and assumptions about who knows more about fucking binary caches on Reddit-dot-com.

/r/haskell Thread Parent Link - blog.ezyang.com