On 2019-09-12, at 7:51 AM, Mojca Miklavec wrote: > > > Cool! > > Doesn't it work if you simply use this working ghc-bootstrap to build version > 8? > Or is Haskell too picky about what version of compiler you require to > build something newer, and you can only go forward one tiny step at a > time? >
The Haskell bootstrap rule appears to be two major steps at a time, and for whatever reason they skip odd numbered minor versions. Bootstrapping up to a current ghc from our previous ghc 7.8.3 looks like it may not be overly difficult, in the end, at least it went pretty smoothly: $ port -v installed ghc The following ports are currently installed: ghc @7.8.3_6 platform='darwin 10' archs='x86_64' date='2017-11-19T13:47:09-0800' ghc @8.0.2_0 (active) platform='darwin 10' archs='x86_64' date='2019-09-12T18:04:13-0700' It all goes pretty easily, but it does take some time. This ghc compiler I'm building looks like it should work on all 64bit systems 10.6+, I think. Have to see. I think this might deliver a newer ghc 8.6.3 for older systems (actually 8.8.1 is out now, so I might just go all the way to there) and then once we have a bootstrap we can just use the current haskell infrastructure & stack. On the way-out-there fringe, who knows about i386: There is an 8.8.1 i386 bootstrap binary for debian, so it appears possible to ponder that, at least. I would not be surprised if it also worked on Intel 10.5, but PPC is pretty much out, I think, because the llvm backend that haskell uses can't produce quality PPC code... although I do in fact have a working llvm-3.9 and llvm-5.0 for PPC that might actually work, as ghc is only C code. Not sure about the ABI issues... Maybe a cross compiler might be fun to try out, someday... Ken