4 ms·
Did you read about the guix full source bootstrap the other day? They've shrunk the bootstrap seed down to a 357-byte program: https://guix.gnu.org/blog/2023/t
by endgame 3y ago
Did you read about the guix full source bootstrap the other day? They've shrunk the bootstrap seed down to a 357-byte program:
https://guix.gnu.org/blog/2023/the-full-source-bootstrap-building-from-source-all-the-way-down/ https://guix.gnu.org/blog/2023/the-full-source-bootstrap-bui...
- wahern 3y agoThe bootstrap seed, https://github.com/oriansj/bootstrap-seeds/blob/master/POSIX/x86/hex0_x86.hex0 https://github.com/oriansj/bootstrap-seeds/blob/master/POSIX..., is a tiny interpreter that takes a much larger program written in a special-purpose, bytecode-based language. This proceeds in turn once or twice more--special purpose program generating another interpreter for another special-purpose language--until you end up with a minimal Scheme interpreter, which then can be used to execute a C compiler program. All of this is incredible work, but a minimal C-subset compiler in under 512 bytes of x86 assembly seems like a unique achievement as it includes non-trivial parsing and linking phases not required for that hex0 interpreter.
- schemescape 3y agoFrom that article: > Even more recently (2018), the GNU C Library glibc-2.28 adds Python as a build requirement I’m surprised they went with Python and not GNU software (e.g. Guile). Edit: clicking through the link it sounds like this might be intended to replace other accumulated dependencies (Perl?) and stop supporting old versions of Python.
- fbdab103 3y agoIs Nix incorporating this work as well? I fully support and want Guix to survive, but it seems well behind in mind share, and I would love if Nix could become similarly repeatable and reproducible.