IRC channel logs

2024-03-25.log

back to list of logs

<ludocode>Hello bootstrappers. I want to share something I've been working on for the past ~16 months. It's called Onramp: https://github.com/ludocode/onramp/
<ludocode>It's a bit like stage0 + M2-Planet + mescc all-in-one, except it's all built on a platform-independent bytecode, simple enough that the VM can be implemented directly in machine code.
<ludocode>The idea is to make the bootstrap process future-proof so that bootstrapping can still be done far in the future or for aliens with architectures very different from our own. Sort of a permanent solution to the "cuneiform tablets of 2015" problem.
<ludocode>It's nowhere near done of course. I want to get it building TinyCC, then eventually get it running in freestanding to catch up to the functionality of builder-hex0 and such. I'm probably a couple years away from this goal but making progress.
<ekaitz>ludocode: really cool!
<matrix_bridge><Andrius Štikonas> Indeed sounds cool, custom VM here was floated from time to time but I guess the only thing we had was knight vm
<matrix_bridge><Andrius Štikonas> I guess the main difficulty is writing a really small VM that is still capable enough
<matrix_bridge><Andrius Štikonas> For sure it will be far larger than hex1
<Guest991>Hello, can anyone help me to write the rootfs.py file in bash language?
<ludocode>Yeah I remember reading about Knight in stage 0 but I couldn't figure out what it was
<ludocode>The VM for Onramp is really simple, only about 800 x86_64 instructions: https://github.com/ludocode/onramp/blob/develop/platform/vm/x86_64-linux/vm.ohx
<ludocode>Onramp's hex language also has what I call "address assertions". A hex tool can treat them as comments and ignore them, or it can check that the address value matches the number of bytes that have been emitted
<ludocode>Makes it a lot easier to write larger programs in hex machine code
<euleritian>There once was a GNU project called epsilon, which claimed to start with 7 primitives and allows to build any language from there. So all one would have to provide to port epsilon to other platforms would be those seven primitives. But as far as I can tell there never was a version 1.0, and it's been stale for many years. https://www.gnu.org/software/epsilon/
<matrix_bridge><Andrius Štikonas> doesn't even seem to have any code published there...
<matrix_bridge><Andrius Štikonas> unless I'm looking at the wrong place
<plasma41>Andrius Štikonas: http://git.savannah.gnu.org/cgit/epsilon.git ?
<matrix_bridge><Andrius Štikonas> ok, I was looking at some other repo
<plasma41>The git repo only contains the code history going back to 2013. For older revisions one needs to look through the Bazaar repository that was used prior. http://bzr.savannah.gnu.org/lh/epsilon/
<plasma41>TIL that Breezy, a Bazaar client written in Python, now requires a Rust compiler in its build process. :-(