]> code.bitgloo.com Git - clyne/foci.git/commitdiff
update readme
authorClyne Sullivan <clyne@bitgloo.com>
Tue, 28 Jan 2025 01:18:24 +0000 (20:18 -0500)
committerClyne Sullivan <clyne@bitgloo.com>
Tue, 28 Jan 2025 01:18:24 +0000 (20:18 -0500)
README.md

index 0df6aa5a1ca7eb4446f9058ce7b346a4d9a3d461..b6634f669bb614994aca3640d10fc76deb4dad15 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,3 +1,24 @@
 # foci
 
-When will I stop creating Forths
\ No newline at end of file
+`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 generally a few kilobytes, while RAM usage is primarily set by the size of `foci`'s two stacks and dictionary.
+
+## Available words
+
+```
+dup drop swap rot -rot over tuck @ !  c@ c!  + +!  - * / mod and or xor _c [ ]
+, cell cell+ cells _d base here allot latest negate invert 1- 1+ aligned align
+: ; literal _b _bz if then else \' [\'] execute decimal hex .  emit
+```
+
+## Build instructions
+
+Run `make` with a supported architecture target:
+
+* `make x86-64`: x86\_64 processors (i386 is *not* supported)
+* `make arm-cm4`: ARM Cortex-M4 microcontrollers
+* `make msp430`: TI MSP430 microcontrollers
+