]>
description | Cross-platform register-level Forth implementation |
owner | Clyne Sullivan |
last change | Wed, 29 Jan 2025 02:22:07 +0000 (21:22 -0500) |
foci
is a small Forth implementation that prioritizes performance and portability. This threaded Forth implementation uses CPU registers and native execution to maximize efficiency.
Register usage is the only platform-specific requirement; otherwise, foci
is written in 100% portable C. There is active support for x86_64, ARM Cortex-M, and MSP430 architectures.
foci
compiles to a binary object that can easily be linked into another application. Code size is less than 5 kB, while RAM usage is in the hundreds of bytes (primarily influenced by the configured stack and dictionary sizes).
Many words from core ANS Forth are supported. See compat.txt
for a list.
Some features are not expected to be implemented:
* Pictured numeric output, e.g. <# # #>
* Double-width arithmetic
Run make
with a supported architecture target:
make x86-64
: x86_64 processors (i386 is not supported)make arm-cm4
: ARM Cortex-M4 microcontrollersmake msp430
: TI MSP430 microcontrollers6 months ago | main | shortlog | log | tree |