| 10 Feb 2025 |
maralorn | The survey was mainly about convincing sterni that we can drop 8.10-9.2. if he is fine with doing that anyway we don’t need it. 😄 | 16:58:58 |
emily | I'm also a little unclear on what would be required to get aarch64-darwin bootstrapping without those old GHCs | 16:59:37 |
sterni (he/him) | emily: downstream use is a consideration that comes after upstream use I'd say… | 17:00:14 |
emily | well, the only reason I didn't work on upstream use is because I understood that downstream use was the sticking point and waiting on a survey... | 17:01:03 |
emily | seemed pointless to put effort in if it might not help the LLVM patch backporting burden we keep facing | 17:01:24 |
sterni (he/him) | ghcjs is problematic, we'll have to find people that actually use it to give feedback I guess. I guess with coming GHC versions the js backend will become production ready, so it's probably justifiable to drop ghcjs at that point | 17:01:38 |
emily | so do we need a survey or not? :) | 17:01:54 |
maralorn | sterni: I am here. I actually use ghcjs every day. I can tell you that we can drop it. | 17:02:15 |
emily | if there's agreement in principle I'm happy to help with the work, but not if there's just going to be another reason they have to stay on the other side of it. | 17:02:21 |
sterni (he/him) | that seems like a contradictory sentence… | 17:02:33 |
emily | sigh | 17:03:03 |
sterni (he/him) | emily: we can probably start by talking to Divam or whoever we know else we know at Obsidian. I also suspect that Mercury was using ghcjs at some point, we can probably also ask someone there. | 17:03:38 |
emily | let me know when you guys figure it out | 17:03:09 |
sterni (he/him) | maybe just asking informally on discourse is easier than a survey? | 17:04:14 |
maralorn | sterni: I have a call every 2 weeks with the obsidian people. You can believe me. | 17:04:18 |
sterni (he/him) | what exactly should I believe idk what we're talking about | 17:04:38 |
maralorn | They don’t use and don’t plan to use an up-to-date nixpkgs pin to use ghcjs. | 17:05:10 |
sterni (he/him) | emily: But you make a good point on bootstrapping, I realized yesterday that it may be extremely difficult to get rid of GHC 8.10.7 and that we kind of need its LLVM backend. | 17:05:14 |
sterni (he/him) | maralorn: why did they even upstream 8.10.7 ghcjs lol | 17:05:33 |
maralorn | Well, that was years ago and at that point they were using it?^^ | 17:06:02 |
sterni (he/him) | it's getting to be just one big blur | 17:06:34 |
emily | I'm tired of the fact that we have to keep backporting LLVM patches that require manual work to apply to LLVM 12 that we can't just skip and leave broken on Darwin because the GHC bootstrap pulls it in and GHC is now used by everything. and I'm tired of the constantly-shifting goalposts around GHC versions that there has never been any evidence that the people who would use them are actually using modern Nixpkgs and substantial amounts of evidence that they're not. | 17:06:49 |
sterni (he/him) | emily: i.e. we kind of need 8.10.7 or 9.0.2 to bootstrap GHC 9.4.8 due to build system bugs. Simultaneously, these compilers are the only remaining compilers that are not affected by various problems relating to the build system. Without 9.4.8 we would be unable to cross compile GHC to riscv64 and do TemplateHaskell in pkgsStatic. | 17:08:32 |
emily | if there's an agreement that they can be dropped if the internal uses are sorted, I'll help | 17:07:03 |
emily | if you just personally don't want those versions to be removed, then ok | 17:07:17 |
emily | but while it's still unclear if there will be any point to me as a Darwin/LLVM person to put in the effort I'm not going to allocate my limited time to it | 17:07:46 |
emily | if a survey is what's required I'll wait for the survey. I already sorted things out with other users of old compilers like the CUDA team and I am convinced that GHC is the only substantive blocker | 17:08:37 |
emily | riscv64 is tier nothing, it can wait for build system bugs to be fixed (assuming we can't just patch or work around them) | 17:09:13 |
emily | avoiding an unsupported platform placing maintenance burdens on one of our major ones is part of the reason we have a vague notion of support tiers in the first place | 17:09:51 |
emily | if static is a blocker then that can be discussed but then why was this not raised the previous 10 times this was talked about? | 17:10:44 |