4 ms·
Any reasons to code in Forth these days, besides intellectual exercise?
by zerr 5y ago
Any reasons to code in Forth these days, besides intellectual exercise?
- qsort 5y agoIt's very easy to bootstrap and can be made Turing-incomplete if needed. Bitcoin script is a Forth IIRC.
- whartung 5y agoSpeaking of this, I've always loved this paper [1] about Forth. And it's a real eye opener. It's a real eye opener when you understand that primitives such as assignment and variable references are, indeed, in Forth, actual primitives. Primitives that can be readily changed. Combine this with a venerable Forth (cross)assembler and it's pretty powerful for all of its simplicity. This is bootstrapping without even a boot, just need a sniglet. [1] https://pygmy.utoh.org/3ins4th.html https://pygmy.utoh.org/3ins4th.html
- rbanffy 5y ago> It's very easy to bootstrap Indeed. In college, I designed a stack based CPU that made it trivially easy to build a Forth compiler for it. It also had registers, because I started with a register based design, but the microcode fleshed out stack based instructions and the registers were mostly for storing data outside the stack.
- RodgerTheGreat 5y agoChuck is quite fond of indexing registers on his forth machines; they make operations like memory copies much less messy than exclusively keeping state on the parameter stack.
- nmz 5y agoThis? https://youtu.be/55234oZ0EDU https://youtu.be/55234oZ0EDU factor[1] also looks like a nice language. In reality though? we should only code in CPP/C/JS [1] https://factorcode.org/ https://factorcode.org/
- int_19h 5y agoBootstrapping a development environment on an exotic and/or very resource-constrained platform. The neat thing about Forth is that, once you have the kernel running, and can hook some simple I/O to it (e.g serial), you basically have a remote REPL. And this can be made to work on devices where RAM is measured in kilobytes.