subleq
gforth
subleq | gforth | |
---|---|---|
9 | 8 | |
52 | 141 | |
- | - | |
4.6 | 9.7 | |
24 days ago | about 17 hours ago | |
Forth | Forth | |
The Unlicense | GNU General Public License v3.0 only |
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.
subleq
-
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
gforth
-
A few questions regarding the language
Not that I've ever seen personally. They mostly exist as extensions in various places. Gforth has one, for example.
-
What forth implementation could be a good pick for writing a texteditor?
I don't know the status of gforth's 'minos2' offering but I see a mention of X11 which is a promising sight for Linux GUI work.
-
Trying to use Forth Foundation Library (FFL) with GForth installed via GNU Guix
See also INSTALL
-
Starting Forth [pdf]
\ sh-get is from script.fs: https://github.com/forthy42/gforth/blob/master/script.fs
- Why is the Forth community so split?
-
Aro: A C compiler written in Zig
For contrast, gforth (a prominent Forth interpreter, by Forth standards) generates+compiles+links binding code in C, at runtime, using the ordinary C toolchain. [0][1][2]
A bit 'out there' you may say, but on the plus side this approach enables handling header files and tidily expressing bindings without the need to implement their own C parser. [2]
[0] GitHub mirror: https://github.com/forthy42/gforth/blob/dda77d851ddeb80ca849...
[1] The official host: https://git.savannah.gnu.org/cgit/gforth.git/tree/libcc.fs
[2] https://rosettacode.org/wiki/Call_a_foreign-language_functio...
-
which forth do you guys use for normal day to day scripting and programming
I use SP-Forth (production), Gforth (testing).
-
A Forth Indirectthreaded Pcode Vms Performance On
Gforth has to take special steps to ensure the OS doesn't prevent the transfer of control over to the dynamically generation instruction sequence.
What are some alternatives?
swapforth - Swapforth is a cross-platform ANS Forth
elfort - A Forth metacompiler that directly emits an executable binary for x86-64 Linux written in Arkam
Mako - A simple virtual game console
zeptoforth - A not-so-small Forth for Cortex-M
durexforth - Modern C64 Forth
lbForth - Self-hosting metacompiled Forth, bootstrapping from a few lines of C; targets Linux, Windows, ARM, RISC-V, 68000, PDP-11, asm.js.
miniforth - A bootsector FORTH
arocc - A C compiler written in Zig.
r3 - r3 programing language - ColorForth inspired
r3d4 - r3 programing language for 64 bits Windows/Linux/Mac/Rasberry Pi 4
TclForth - Multi-platform desktop Forth based on Tcl/Tk