Forth Systems - ForthHub/wiki GitHub Wiki
Work in progress; see https://github.com/ForthHub/discussion/issues/19.
Forths in Assembly
| :star: | Name / Link | Lang | CPU | Description |
|---|---|---|---|---|
| 1.4K | jonesforth | Assembly | x86 | Mirror of original(?) jonesforth |
| 323 | STM8EF | Assembly | STM8 | eForth with extensions for $0.20 ยตCs |
| 307 | zeptoforth | Assembly | ARM | zeptoforth is a Cortex-M Forth, currently targeted at RP2040 and RP2350 boards |
| 297 | Swapforth | Assembly | J1, FT900, x64 | Cross-platform 32-bit ANS Forth |
| 258 | pijFORTHos | Assembly | ARM | Bare-metal FORTH operating system for Raspberry Pi |
| 252 | DurexForth | Assembly | 6502 | Modern C64 Forth |
| 112 | FlashForth | Assembly | PIC, AVR | Forth system for the Microchip PIC 18, 24, 30, 33 and the Atmel Atmega |
| 89 | JonesForth-arm | Assembly | ARM | ARM port of JonesForth |
| 89 | FiveForths | Assembly | RISC-V | Tiny Forth written in hand-coded RISC-V assembly, initially designed to run on 32-bit microcontrollers |
| 85 | CoreForth | Assembly | ARM | Forth for the Cortex-M3 |
| 79 | ciforth | Assembly | x86, x64 | Compiler factory for 16/32/64 bit msdos/Linux/Windows/OSX/standalone |
| 79 | lina | Assembly | x86 | ciforth version for 32 bit Linux |
| 73 | AmForth | Assembly | AVR, MSP430 | (13 repositories) |
| 59 | FreeForth2 | Assembly | x86 Linux | FreeForth2 offers a novel, lightweight Forth for x86 Linux that deftly blends assembly and Forth |
| 59 | feline | Assembly | x64 | 64-bit native code Forth 200x |
| 51 | Mecrisp | Assembly | MSP430 | Mecrisp Forth for MSP430 |
| 45 | Taliforth2 | Assembly | 65C02 | STC ANS Forth for 65C02 platforms |
| 44 | jonesforthโ | Assembly | x86 | ANS FORTH version of jonesforth |
| 44 | nop | Assembly | x86-64, arm64 | Forth dialect for macOS, Linux, *BSD and Windows |
| 42 | OSX-Forth | Assembly | x86 | Forth for OSX |
| 38 | j1eforth | Assembly | J1 | eForth for the j1 |
| 36 | Forth500 | Assembly | SC62015 | Standard 2012 Forth for the Sharp PC-E500 |
| 36 | PETTIL | Assembly | 6502 | Forth for the Commodore PET 2001 |
| 35 | hForth | Assembly | 8086, Z80, ARM | hForth for i8086, Z80 and ARM |
| 31 | Forth850 | Assembly | Z80 | Standard 2012 Forth for the Sharp PC-G850 |
| 28 | DCPU | Assembly | DCPU-16 | Forth for Notch's DCPU-16 |
| 22 | Z79Forth | Assembly | HD6309E | A complete platform (HW and SW) supporting a 79-STANDARD subset, FORTH-83 and ANS extensions. An alternate EEPROM image provides full support for the ANS94 Core word set. |
| 13 | asforthโ | Assembly | AVR | Subroutine threaded Forth for Atmega328 |
| 11 | megaforth | Assembly | 68000 | Forth designed for the Sega Megadrive |
| 8 | FastForthโ | Assembly | MSP430 | Forth for all MSP430 FRAM devices, with SD card FAT16/32 and much more |
| 7 | ForthModelT | Assembly | PseudoCPU | Forth system targeting a fictional CPU with VM for Windows. |
| 2 | MecrispStellaris | Assembly | ARM Cortex | Mecrisp Stellaris Forth for ARM Cortex Architectures |
| 1 | CF430Rโ | Assembly | MSP430 | CamelForth for MSP430 |
| - | Mecrisp-Quintus | Assembly | RISC-V, MIPS | Mecrisp Quintus Forth for RISC-V RV32IM and PIC32MX (MIPS M4K) |
| - | UF | Assembly | UXN | Forth system for the UXN virtual machine |
Forths in Forth
| :star: | Name / Link | Lang | CPU | Description |
|---|---|---|---|---|
| 262 | lbForth | Forth | x86 | Self-hosting metacompiled Forth, bootstrapping from a few lines of C |
| 32 | CamelForth | Forth | 6809 | |
| 33 | Camel99 Forth ITC | Forth | CamelForth | Cross-compiled in Forth ASM & Forth for TMS9900/TI-99 |
| 35 | myforth-arduino | Forth | AVR | Simple, non-standard, tethered Forth for the Arduino |
| 60 | SP-Forth (Version 4, spf4) | Forth | x86 | Forth-94, 32bit, native code, peephole optimization, Windows and Linux hosts, SEH and SIGSEGV handling, multitasking out of the box. Sources are also available in utf-8. |
| 25 | cmFORTH | Forth | NC4016 | |
| 20 | Able Forth | Forth | Custom VM | A Forth-like programming language that targets the AbleVM. |
| 18 | FIG-Forth | Forth | 6502 | |
| 15 | sbc09 Forth | Forth | 6809 | |
| 13 | PicForth | Forth | PIC16 | Forth cross-compiler for PIC16Fxxx |
| 12 | m3forth | Forth | ARM | Cross-compiler for Cortex-M3 |
| 8 | solo-forth | Forth | Z80 | Standard-Forth for ZX Spectrum 128 upwards |
| 28 | VolksForth | Forth | 6502,68000,CP/M | 16-bit |
Forths in JavaScript and other scripted languages
| :star: | Name / Link | Lang | CPU | Description |
|---|---|---|---|---|
| 200 | WAForth | WebAssembly | Bootstrapping dynamic Forth Interpreter/Compiler for WebAssembly | |
| 61 | Easy Forth | JavaScript | Small ebook for learning Forth. NB: some bugs were fixed in the fork. | |
| 42 | jeforth.3we | JavaScript | jeforth 3 words engine based on project-k | |
| 30 | TclForth | Tcl/Tk | Multi-OS Forth using Tcl as its native language | |
| 20 | project-k | JavaScript | Forth kernel in JavaScript | |
| 16 | yoda | Bash | An experimental implementation that is close to Forth-2012 (see missing). It produces subroutine-threaded code of the underlying machine (i.e. Bash). | |
| 15 | jsforth | Javascript | A simple Forth-like language with a web-based REPL | |
| 3 | Sonnet | Lua | forth-like language interpreter, written in lua | |
| 3 | forthlike | Python | A very simple Forth-like language implemented in Python | |
| 8 | webForth | Javascript | eForth | Forth implemented in Forth and JS, runs in browser or Node |
| 4 | #MOBLuSE_FORTH | Scratch 2 | Runs in modern browser, Tosh, Scratch 2, or Scratch 3 | |
| 0 | ChatFORTH | JavaScript | jeforth.3we | FORTH that chats with OpenAI ChatGPT |
Forths in Other Languages
Stars updated at 2021-07-04
| :star: | Name / Link | Lang | CPU | Description |
|---|---|---|---|---|
| 369 | pForth | C | Portable Forth | |
| 265 | zForth | C | Most | zForth: tiny, embeddable, flexible, compact Forth scripting language for embedded systems |
| 153 | C Forth | C / PlatformIO | Most | Mitch Bradley's C Forth, based on One Laptop Per Child Open FirmWare |
| 108 | Micro eForth | C | Most | Brad Nelson's Micro eForth - runs on micro-controllers, Posix, Windows and web |
| 95 | gForth | C | Gforth mirror | |
| 59 | PlanckForth | C | Bootstrapping an Interpreter from Handwritten 1KB Binary (minimal loadstage 1 with one-letter words followed by a stage 2 bootstrap-include) | |
| 58 | reforth | C | Rethinking Forth | |
| 48 | rtForth | Rust | Forth implemented in Rust for realtime application | |
| 31 | staapl | Racket | PIC18 | Racket-based Forth / Macro Assembler on steroids for PIC18F |
| 16 | webForth | C | eForth | Forth implemented in Forth and C runs currently in Arduino or ESP8266 |
| 13 | uForth | C | Very portable (embeddable) switch threaded Forth | |
| 12 | Creole Forth | Pascal | Scripting language in the form of a Delphi/Lazarus component | |
| 9 | dclang | C | Forth-inspired RPN language | |
| 16 | c3 | C | Varied | A minimal Forth implemented in C, runs on the PC and development boards |
| 9 | c4 | C | Varied | c4: a Forth system inspired by Tachyon and ColorForth |
| 3 | c4a | C | Varied | c4a: Arduino version of c4 - also runs on PC |
| 1 | eForth | go | Varied | eForth implemented in go, for comparison purposes |
| 3 | toolboxforth | C | uForth/various | Highly portable, modifiable,opinionated Forth(ish) language for PC and MCUs |
| 29 | CL-Forth | Lisp | Any 64-bit | Common Lisp implementation of the Forth 2012 Standard |
| 1 | ok | C | STM32 | Secure thin-client Forth for MCU systems development |