3 ms·
I've been thinking about a bare metal Forth system and one of my goals for it would be that anyone could recreate it without having any specific dependencies to
by drivers99 5y ago
I've been thinking about a bare metal Forth system and one of my goals for it would be that anyone could recreate it without having any specific dependencies to build it. Something fully explained like jonesforth but without a linux and assembler dependency. Part of my motivation for that is when I try to learn bare metal programming, the tutorials are rapidly outdated because of changing dependencies/tools, broken links, outdated information, etc. Maybe just some hex codes of the machine language which you could use xxd to convert to a binary, or if you didn't have that you could use any programming language that can write a binary file to create it, or a hex editor. The ultimate step would be that the system would be able to compile the next version of itself. (Self-hosted forth implementations are really common; you can find a bunch by googling that.)
- senkora 5y agoLook into CollapseOS if you haven’t already! https://collapseos.org/ https://collapseos.org/
- drivers99 5y agoWow that's cool. I'll definitely be checking it out. Ironically though, it illustrates one of my points: the documentation link is already broken (although it also exists in the download). It says it runs on a POSIX environment and uses cc so it still has more dependencies, but definitely worth digging into and a step in the right direction. Thanks.
- Karrot_Kream 5y agoBare metal programming in C99 hasn't changed in... Ever really, so that's another option if you want something less esoteric than Forth. (Though Forth is a lot of fun and will give you a dynamic experience that few other environments at this level of the stack can offer.)
- akkartik 5y agoI was just telling someone[1] that I explored Forth for this exact purpose a few years ago, but ended up with a more imperative, statement-oriented approach: https://github.com/akkartik/mu https://github.com/akkartik/mu [1] https://merveilles.town/@akkartik/106978783913724906 https://merveilles.town/@akkartik/106978783913724906
- drivers99 5y agoJust saw this. The live update of the stack at each step with the function definitions on the left is really cool!
- OneWingedShark 5y agoLook into "SeedForth".