IRC channel logs

2026-05-15.log

back to list of logs

<siraben>it's just recursive descent should be able to handle all those
<siraben>I found out that I can shave another 111s off the bootstrap if I use the second-to-last compiler in the blynn chain with no source changes
<janus>siraben: when you work on hcc, do you use GHC until it works and then check to see if blynn matches? Or do you work exclusively in blynn?
<siraben>janus: I work in ghc generally for iteration speed, but always checked with blynn (it's CI gated so I can't merge into master if it doesn't pass full faithful diverse double compilation)
<siraben>Right now the concern is more performance and getting that up. I think over the weekend I will just fork blynn and adjust its behavior to my liking
<siraben>Considering doing supercombinators
<janus>why is it important to have perforamnce? if the point of bootstrapping is to gain confidence, isn't it good enough if it is slow and simple?
<siraben> https://thma.github.io/posts/2023-10-08-Optimizing-bracket-abstraction-for-combinator-reduction.html
<siraben>bulk combinators
<siraben>janus: It won't be overly optimized to be fast, I just think it's possible to be fast and auditable at the same time
<siraben>I like working with blynn stuff because everything passes through the VM eventually, and there are a finite set of combinators. The VM could even be implemented in M1 or some macro language
<janus>sounds great. i will spend more time understanding blynn's prose and code
<siraben>with some configure flags managed to get tcc to compile 17% faster (so we can get to self-hosting faster)
<siraben>amd64 stage1 tcc binary: 461,681 → 367,552 bytes (−17.2%). HCC compiling tcc.c on the faithful M2-Planet path: 5:46 → 4:46 (−17.3%).
<siraben>hcc's time is mostly spent in I/O, not sure how to address this, haskell isn't exactly the fastest language for I/O heh
<siraben>oh but then I have to do some small asm files anyway...
<siraben>Reverting for now
<matrix_bridge><cosinusoidally> I know nothing about Haskell, but surely buffered io is the solution? I've definitely seen massive performance improvements in my bootstrapping code by using io buffering.
<siraben>cosinussoidally: yeah I added various buffered writes to the FFI to bring it down
<siraben>ACTION starts disabling a bunch of stuff in tcc for initial bootstrapping
<roconnor>siraben: how did you add buffered writes?
<roconnor>I'm thinking of writing my own blynn-style compiler. Likely aiming for the same source language though.
<siraben>roconnor: https://github.com/siraben/blynn-bootstrap/blob/cb58d2412dba0ff7ce85e7993a32ec6d4a87ebe7/hcc/src/Hcc/HccSystem.hs