]>
| 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 microcontrollers| 8 months ago | main | shortlog | log | tree |