Forwarded from (φ (μ (λ)))
As it stands for now, any implementation of Haskell is impossible to bootstrap from source. This is a terribly sad thing, because Haskell is supposed to be different than other languages. Even if you go back to 1996, GHC version 0.29, you would still be building from generated ANSI C code, and not source code. Generated code is not source code, thus doesn't really qualify to be bootstrappable.
Nix gave up a long time ago, they start with some binary distributions from GHC 8.x.x and then build upto the latest ones. I know of at least 4-5 people from Guix that have given a chunk of their time since 2017 in getting GHC bootstrapped. Guix's bootstrapping chain is longer and older than Nix's but still lags behind. The currently usable GHC in Guix is today is 9.2.8 which is around 2 years old. Salt to the wound, GHC changed their build system from typical GNU Make to something similar to Shake, called Hadrian. This is good, from GHC perspective, Make is old and really bad to deal with, and I like Shake. But this is a pain when you're trying to build a newer version of GHC from an older one. This is one of the reasons why Guix's GHC is stuck in 9.2 and 9.4.
The bootstrap problem is still a conjecture, nobody knows if it can be done or not, and from what I've seen, the GHC developers have sadly not shown much care towards this problem. The current hope is that you might be able to build a really old version of GHC from Hugs—an even older implementation of Haskell in C—and then make the chain work, but it remains theoretical, one would have to patch Hugs heavily to make it have the features that even an old GHC has.
I might sit down and try to play with this chain, and the result is indeed worth it. Bootstrappability is crucial, and at least Haskell should be able to get that right. It's not really a pleasant task though, GHC is huge, and compiling it on anything that's not a supercomputer is painful. It'll take days, patching and keeping the chain consistent is also not easy. Well, if it gets done by someone it will help both Guix and Nix.
Nix gave up a long time ago, they start with some binary distributions from GHC 8.x.x and then build upto the latest ones. I know of at least 4-5 people from Guix that have given a chunk of their time since 2017 in getting GHC bootstrapped. Guix's bootstrapping chain is longer and older than Nix's but still lags behind. The currently usable GHC in Guix is today is 9.2.8 which is around 2 years old. Salt to the wound, GHC changed their build system from typical GNU Make to something similar to Shake, called Hadrian. This is good, from GHC perspective, Make is old and really bad to deal with, and I like Shake. But this is a pain when you're trying to build a newer version of GHC from an older one. This is one of the reasons why Guix's GHC is stuck in 9.2 and 9.4.
The bootstrap problem is still a conjecture, nobody knows if it can be done or not, and from what I've seen, the GHC developers have sadly not shown much care towards this problem. The current hope is that you might be able to build a really old version of GHC from Hugs—an even older implementation of Haskell in C—and then make the chain work, but it remains theoretical, one would have to patch Hugs heavily to make it have the features that even an old GHC has.
I might sit down and try to play with this chain, and the result is indeed worth it. Bootstrappability is crucial, and at least Haskell should be able to get that right. It's not really a pleasant task though, GHC is huge, and compiling it on anything that's not a supercomputer is painful. It'll take days, patching and keeping the chain consistent is also not easy. Well, if it gets done by someone it will help both Guix and Nix.
Channel name was changed to «Deputy Sheriff The Viking Programmer»
Forwarded from Meta-Survival & Bushcraft
For generations, Australia’s Aboriginal peoples told stories about birds starting fires to hunt. For a long time, it was thought to be just a myth... up to now.
Science has confirmed that at least three species of Australian birds of prey — the milan TAG, the whistling hawk and the grey hawk — have surprising behavior: they carry lit branches on their beaks or claws and drop them into dry areas to spark new fires.
Science has confirmed that at least three species of Australian birds of prey — the milan TAG, the whistling hawk and the grey hawk — have surprising behavior: they carry lit branches on their beaks or claws and drop them into dry areas to spark new fires.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Insomnium - While We Sleep
Insomnium - While We Sleep
Album: Shadows Of The Dying Sun
Album: Shadows Of The Dying Sun