THEVIKINGPROGRAMMER Telegram 3026
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.



tgoop.com/thevikingprogrammer/3026
Create:
Last Update:

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.

BY Deputy Sheriff The Viking Programmer


Share with your friend now:
tgoop.com/thevikingprogrammer/3026

View MORE
Open in Telegram


Telegram News

Date: |

Public channels are public to the internet, regardless of whether or not they are subscribed. A public channel is displayed in search results and has a short address (link). A vandalised bank during the 2019 protest. File photo: May James/HKFP. The SUCK Channel on Telegram, with a message saying some content has been removed by the police. Photo: Telegram screenshot. During the meeting with TSE Minister Edson Fachin, Perekopsky also mentioned the TSE channel on the platform as one of the firm's key success stories. Launched as part of the company's commitments to tackle the spread of fake news in Brazil, the verified channel has attracted more than 184,000 members in less than a month. In 2018, Telegram’s audience reached 200 million people, with 500,000 new users joining the messenger every day. It was launched for iOS on 14 August 2013 and Android on 20 October 2013.
from us


Telegram Deputy Sheriff The Viking Programmer
FROM American