lbForth
Self-hosting metacompiled Forth, bootstrapping from a few lines of C; targets Linux, Windows, ARM, RISC-V, 68000, PDP-11, asm.js. (by larsbrinkhoff)
subleq
16-bit SUBLEQ CPU running eForth - just for fun (by howerj)
Our great sponsors
lbForth | subleq | |
---|---|---|
3 | 9 | |
398 | 52 | |
- | - | |
0.0 | 4.6 | |
about 1 year ago | 10 days ago | |
Forth | Forth | |
GNU General Public License v3.0 only | The Unlicense |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
lbForth
Posts with mentions or reviews of lbForth.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-03-25.
-
What's the simplest language to implement?
Forth compiler in 159 lines of Lisp and C
- lbForth: A self-hosting metacompiled Forth
-
Forth on the XMOS CPU?
Probably what I would do is write a minimal forth interpreter in C, and then use that and a few core words to bootstrap the rest of the system. It is a bit more complex than that, but here is the software which does it.https://github.com/larsbrinkhoff/lbForth
subleq
Posts with mentions or reviews of subleq.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-04-03.
-
The ancient world before computers had stacks or heaps
I wrote a Forth interpreter for a SUBLEQ machine (https://github.com/howerj/subleq), and for a bit-serial machine (https://github.com/howerj/bit-serial), both of which do not have a function call stack which is a requirement of Forth. SUBLEQ also does not allow indirect loading and stores as well and requires self-modifying code to do anything non-trivial. The approach I took for both machines was to build a virtual machine that could do those things, along with cooperative multithreading. The heap, if required, is written in Forth, along with a floating point word-set (various MCUs not having instructions for floating point numbers is still fairly common, and can be implemented as calls to software functions that implement them instead).
I would imagine that other compilers took a similar approach which wasn't mentioned.
- Show HN: Computing with just one instruction – Forth on SUBLEQ
-
SUBLEQ eForth book
I've already posted about the implementation on Forth, but you might want to see how such a system is created in detail along with the design decisions and compromises. The source code can be freely viewed at https://github.com/howerj/subleq.
- Show HN: A single instruction computer running Forth
- Forth on a SUBLEQ (A One Instruction Set Computer)
- Forth Running on a One Instruction Set Computer
- Computing with Just One Instruction
What are some alternatives?
When comparing lbForth and subleq you can also consider the following projects:
xxdp - XXDP was, and remains, the PDP-11 diagnostic operating system. This project attempts to recover XXDP sources and documents.
swapforth - Swapforth is a cross-platform ANS Forth
Mako - A simple virtual game console
zeptoforth - A not-so-small Forth for Cortex-M
durexforth - Modern C64 Forth
TclForth - Multi-platform desktop Forth based on Tcl/Tk
elfort - A Forth metacompiler that directly emits an executable binary for x86-64 Linux written in Arkam
jonesforth_riscv - Jonesforth RISC-V port.
reko - Reko is a binary decompiler.
arkam - A Simple Stack VM and Forth
derzforth - Bare-metal Forth implementation for RISC-V