| 15 Sep 2025 |
emily | but even for bootstrapping GHC I think you'd want the full MicroHs | 13:42:54 |
sterni | I guess nothing inherently, it's just that it's an incomplete reimplementation of the old make build system with some arbitrary improvements. It regressed a bunch of stuff that hasn't been fixed to this day. I find it much more unwieldy to work with and understand because it uses kind of fuzzy abstractions and it is hard to inspect what it decides to do internally and even harder to override certain aspects of its behavior. Also there are questionable design decisions like always building an bindist instead of installing directly (this sounds good in theory, but is not really a good idea). | 13:43:00 |
emily | because like, why not be uniform | 13:43:03 |
MangoIV | and you don't get around the freeze-stage-n thing anyway because it's just a user choice of whether or not recompiler the respective boot compiler | 13:43:20 |
MangoIV | the tool cannot decide that for you | 13:43:27 |
teo (they/he) | My view is that if people want to make it build with cabal-install, then that leads to better code in GHC since we make fewer assumptions. And it just means that stuff gets made nicer | 13:44:12 |
sterni | It kind of boils down to that, from a packager's perspective, make is understood software and you know how to work with it and debug it. Hadrian is just too smart and a bit of a black box. I think the motivation was that people were getting scared to change the make build system since it was getting to complicated and unwieldy, but hadrian did not significantly simplify things as far as I can tell. | 13:44:37 |
teo (they/he) | Yeah good q. I feel like people ran out of steam right? And the main Hadrian person was hired by Jane Street | 13:44:43 |
sterni | I mean all the packages have the semantics of Cabal packages already so you are just simplifying stuff as much as possible if you do that. | 13:45:08 |
MangoIV | but cabal can indeed not build GHC, can it? | 13:45:26 |
MangoIV | like these are required conditions, but not sufficient ones | 13:45:53 |