5 ms·
Thanks, that actually look like a very solid baseline to start things with. Are you aware of onramp[1]? They use a custom VM to base compiler and shell on, it's
by fuhsnn 6mo ago
Thanks, that actually look like a very solid baseline to start things with. Are you aware of onramp[1]? They use a custom VM to base compiler and shell on, it's extra steps, but could be more flexible long term.
[1] https://github.com/ludocode/onramp https://github.com/ludocode/onramp
- ludocode 6mo agoI'm the author of Onramp. Thanks for linking it! One of the VMs I wrote for Onramp is in POSIX shell [1]. This was intended to make C bootstrappable on any POSIX system of any architecture with nothing besides the shell. Unfortunately it's about 100,000x too slow to be useful. It's also at least as complicated as a machine code VM. I've since mostly abandoned the POSIX shell idea. Onramp does have a very simple C89 VM though, and its purpose is for bootstrapping modern C on systems that have only a basic C compiler [2]. So this c89cc.sh could in theory work. I tried it and unfortunately it doesn't quite compile yet (and doesn't give a comprehensible error message either.) Even if it worked, c89cc.sh only compiles to x86_64 ELF, and it's way more complicated than the x86_64 ELF machine code Onramp VM [3]. This has been a bit of a recurring theme with Onramp: anything I've tried to get away from the initial machine code stages ends up being more complicated than handwritten machine code. Still, it's nice to have a lot of different ways to bootstrap. I love seeing projects like this and I'm glad to see more people taking bootstrapping seriously. [1]: https://github.com/ludocode/onramp/blob/develop/platform/vm/sh/vm.sh https://github.com/ludocode/onramp/blob/develop/platform/vm/... [2]: https://github.com/ludocode/onramp/blob/develop/platform/vm/c89/vm.c https://github.com/ludocode/onramp/blob/develop/platform/vm/... [3]: https://github.com/ludocode/onramp/blob/develop/platform/vm/x86_64-linux/vm.ohx https://github.com/ludocode/onramp/blob/develop/platform/vm/...
- gaigalas 6mo agoTook some time to look at onramp, it looks awesome!