2025/01/20

Newest at the top

2025-01-20 12:22:02 +0100rubin55(sid666177@id-666177.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2025-01-20 12:21:26 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2025-01-20 12:20:37 +0100 <homo> also I'm not insane to get ghc working on plan9, it's much more trivial to port microhs to plan9
2025-01-20 12:19:20 +0100 <homo> __monty__ using old ghc to cleanly bootstrap modern ghc implies running ghc in x86 emulator on arm and riscv or patching every individual version of ghc to support arm and riscv
2025-01-20 12:18:07 +0100Pozyomka(~pyon@user/pyon) pyon
2025-01-20 12:17:07 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-20 12:15:51 +0100 <homo> anyway, I need to spend a lot of time and energy figuring out how to add pattern guards to hugs, as yacc and imperative programming are very hard to get right
2025-01-20 12:14:53 +0100Pozyomka(~pyon@user/pyon) (Client Quit)
2025-01-20 12:14:52 +0100kaskal(~kaskal@84-115-237-124.cable.dynamic.surfer.at) kaskal
2025-01-20 12:13:51 +0100kaskal(~kaskal@84-115-237-124.cable.dynamic.surfer.at) (Quit: ZNC - https://znc.in)
2025-01-20 12:13:49 +0100monochrom(trebla@216.138.220.146)
2025-01-20 12:13:48 +0100 <homo> it implements tiny language in c and uses that language to recursively implement bigger subset of haskell, that is amazing bootstrap practice
2025-01-20 12:13:31 +0100xff0x(~xff0x@2405:6580:b080:900:89d7:1b64:1ef9:ca1d)
2025-01-20 12:12:57 +0100 <homo> another great example is this self-hosting haskell compiler https://github.com/blynn/compiler
2025-01-20 12:11:53 +0100 <homo> I rewrote pattern guards to make hugs happy and got entire microhs running inside hugs, even though it throws runtime exception
2025-01-20 12:11:49 +0100monochrom(trebla@216.138.220.146) (Ping timeout: 260 seconds)
2025-01-20 12:11:34 +0100Pozyomka(~pyon@user/pyon) pyon
2025-01-20 12:11:14 +0100sprotte24(~sprotte24@p200300d16f08390080f981bd603eb58d.dip0.t-ipconnect.de)
2025-01-20 12:11:07 +0100SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) SlackCoder
2025-01-20 12:10:29 +0100 <homo> hugs has everything microhs demands except pattern guards, which are part of haskell2010
2025-01-20 12:09:46 +0100 <homo> take a look at microhs, it only demands haskell2010 (and several extentions supported by hugs), but in return implements over 50 ghc-specific extentions
2025-01-20 12:09:18 +0100 <__monty__> Well, GHC itself. Someone's been trying to get every old version of GHC building recently-ish. Presumably that'd be enough to build current GHC.
2025-01-20 12:09:11 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan
2025-01-20 12:09:08 +0100sroso(~sroso@user/SrOso) (Client Quit)
2025-01-20 12:08:52 +0100 <homo> also self-hosting language implementation is not big of a deal if it uses subset of its own features to implement itself
2025-01-20 12:08:10 +0100sroso(~sroso@user/SrOso) SrOso
2025-01-20 12:07:46 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!)
2025-01-20 12:07:37 +0100 <homo> kuribas ghc is not bootstrappable at all, there is no haskell implementation that has enough features to deal with ghc and its internal quirks
2025-01-20 12:05:57 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2025-01-20 12:05:53 +0100 <homo> the bootstrappable seeds they use are https://github.com/oriansj/bootstrap-seeds and they are smaller than 500 bytes
2025-01-20 12:04:58 +0100sroso(~sroso@user/SrOso) (Read error: Connection reset by peer)
2025-01-20 12:04:48 +0100 <homo> __monty__ thanks, but I'm not into forth and there is already #bootstrappable channel on libera, as well as https://bootstrappable.org and https://bootstrapping.miraheze.org/
2025-01-20 12:04:43 +0100sroso(~sroso@user/SrOso) SrOso
2025-01-20 12:04:27 +0100sroso(~sroso@user/SrOso) (Read error: Connection reset by peer)
2025-01-20 12:04:15 +0100sroso(~sroso@user/SrOso) SrOso
2025-01-20 12:04:03 +0100 <__monty__> Interpreter vs compiler doesn't really make a difference.
2025-01-20 12:03:57 +0100sroso(~sroso@user/SrOso) (Read error: Connection reset by peer)
2025-01-20 12:03:41 +0100sroso(~sroso@user/SrOso) SrOso
2025-01-20 12:03:35 +0100 <kuribas> idris2 is also fully implemented in itself.
2025-01-20 12:03:23 +0100sroso(~sroso@user/SrOso) (Read error: Connection reset by peer)
2025-01-20 12:03:23 +0100 <kuribas> homo: You can bootstrap via an interpreter.
2025-01-20 12:02:34 +0100sroso(~sroso@user/SrOso) SrOso
2025-01-20 12:02:32 +0100 <homo> kuribas about software, to have software truly bootstrappable, you have to start from very basic features and use those to recursively implement more and more features, so ghc depending on its own extensions to implement those extensions is a horrible practice
2025-01-20 11:59:35 +0100 <kuribas> homo: are you talking about hardware or software?
2025-01-20 11:59:03 +0100 <__monty__> homo: You might be interested in this series of blogs, https://compilercrim.es/bootstrap/
2025-01-20 11:57:51 +0100 <homo> not to mention historical hardware that nobody has anymore
2025-01-20 11:57:38 +0100 <kuribas> https://www.youtube.com/watch?v=RuVS7MsQk4Y
2025-01-20 11:57:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-20 11:57:14 +0100CiaoSen(~Jura@2a05:5800:2ce:7100:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds)
2025-01-20 11:57:08 +0100 <homo> except you don't need historical crufts to have bootstrappable builds if you write code for entire bootstrap chain, it would be hell to replicate all historical software