23 Oct 2024 |
emily | there is tooling that lets you use arbitrary versions | 11:05:59 |
emily | just not in Nixpkgs | 11:06:02 |
emily | haskell.nix etc. | 11:06:16 |
jean-paul. | yea, I played that game before. nicer than haskellPackages from nixpkgs, not as nice in other ways ... Guess I'll see how bad it is to switch my app down to 0.4. | 11:11:24 |
maralorn | jean-paul.: emily Looks like you figured it out, already. But just fyi I put an explanation about which versions we have into the nixpkgs manuals Haskell section. | 11:22:00 |
emily | so nightly is avoided because it's smaller basically? | 11:22:17 |
maralorn | No, nightly is avoided because stern.i and I can’t stay students forever. | 11:22:57 |
emily | heh | 11:23:20 |
maralorn | A few years back, when we had more capacity we lived on nightly for a while. And it was actually better in some regard. | 11:24:11 |
maralorn | Because when the age gap between our stackage and hackage is lower, that breaks less packages outside of stackage. | 11:24:37 |
emily | right | 11:24:48 |
emily | isn't 9.8 the default compiler too? so we're technically going against Stackage LTS there? | 11:24:58 |
emily | or maybe it isn't and I'm imagining things | 11:25:03 |
emily | I'm going senile in the Haskell retirement home 😅 | 11:25:19 |
maralorn | But at this point we only do the update when stackage LTS forces us, because switching to a new LTS is an uncalculatable mountain of work. Maybe around 2 fulltime weeks. Which we can’t just slip in casually. | 11:26:55 |
maralorn | * But at this point we only do the update when stackage LTS forces us, because switching to a new snapshot is an uncalculatable mountain of work. Maybe around 2 fulltime weeks. Which we can’t just slip in casually. | 11:27:08 |
emily | and nightly was painful because it was smaller amounts of work but much more frequently? | 11:27:27 |
maralorn | No, thats not the problem. | 11:27:56 |
maralorn | Just switching from LTS to nightly is so costly. | 11:28:11 |
maralorn | And then when that nightly becomes the new LTS switching to the next nightly. | 11:28:30 |
emily | right, okay. | 11:28:44 |
emily | what makes the bumps so painful? applications breaking because they depend on stuff outside of Stackage that breaks? stuff needing patching/deps updating because of cabal2nix infelicities? | 11:28:54 |
maralorn | I think it is a similar amount of work, probably slightly higher because generally the later we switch the more the ecosystem has already adapted. | 11:29:07 |
maralorn | And mostly the point where nightly bumps to the next ghc is too early for us to follow so we wait a bit, and then there is no good point. So we fall back to LTS. | 11:30:05 |
maralorn | In reply to @emilazy:matrix.org what makes the bumps so painful? applications breaking because they depend on stuff outside of Stackage that breaks? stuff needing patching/deps updating because of cabal2nix infelicities? It’s a flag day kinda problem. All kinds of small pains all happening at the same time summing up. I don’t think it has much to do with cabal2nix. It’s mainly that a lot of packages outside of stackage are not compatible with the new stackage out of the box. That’s rarely because they use a ghc feature that change and often because of some kind of breakage in the core libraries. | 11:32:02 |
maralorn | Lately mtl dropping re-exports was a major pain. | 11:32:21 |
maralorn | In reply to @emilazy:matrix.org what makes the bumps so painful? applications breaking because they depend on stuff outside of Stackage that breaks? stuff needing patching/deps updating because of cabal2nix infelicities? * It’s a flag day kinda problem. All kinds of small pains all happening at the same time summing up. I don’t think it has much to do with cabal2nix. It’s mainly that a lot of packages outside of stackage are not compatible with the new stackage out of the box. That’s rarely because they use a ghc feature that changed and often because of some kind of breakage in the core libraries. | 11:32:44 |
emily | yep, makes sense. I was thinking nightly would be more rolling-release, but I guess it's more like nightlies are just alpha versions of the next LTS, so you still eat a whole bunch of breakage all at once? | 11:32:44 |
maralorn | In reply to @emilazy:matrix.org yep, makes sense. I was thinking nightly would be more rolling-release, but I guess it's more like nightlies are just alpha versions of the next LTS, so you still eat a whole bunch of breakage all at once? Yes, exactly. That is because ghc bundles roughly 30 libraries these days, so at least those don’t get rolling release at all but get always bumped together with ghc. (in stackage, cabal can actually give you more flexibility with that, but stackage is kinda pinned to the bundled versions because of its global consistency requirement) | 11:34:41 |
emily | jeez, 30? I feel like it used to be more like 10. | 11:35:06 |