https://github.com/narenratan/jonesforth_arm64_apl
JonesForth ARM64 with APL symbols
https://github.com/narenratan/jonesforth_arm64_apl
forth
Last synced: 11 months ago
JSON representation
JonesForth ARM64 with APL symbols
- Host: GitHub
- URL: https://github.com/narenratan/jonesforth_arm64_apl
- Owner: narenratan
- Created: 2019-11-03T18:36:50.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-10-11T07:15:26.000Z (over 3 years ago)
- Last Synced: 2025-04-23T21:38:14.696Z (about 1 year ago)
- Topics: forth
- Language: Assembly
- Size: 85.9 KB
- Stars: 34
- Watchers: 1
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# JonesForth ARM64 with APL symbols
This is an ARMv8 AArch64 version of Richard W.M. Jones' original x86 JonesForth.
I have added a few things including:
- Defining words
- Combinators
- Delimited continuations
Also I have used the APL character set.
The pizza is in the examples dir but by way of garlic bread:
```
∇ ε ( ⌈⌊ ⊤ - ↑ ∥) ↓ ∇ / Define ε as Euclid's algorithm /
∇ λ ◁ , ▷ @ ⍎ ∇ / A defining word λ which names anonymous functions /
3 ⊂ ↑ ⊃ ⊂ + ⊃ cat ⍎ / Double three using the cat combinator /
1 2 3 4 ⊂ × ⟦ + - ⊃ ⟧ ⍎ / Capture '+ -' in a delimited continuation with ⟦ ⟧ /
```
ASCII equivalents for APL-character words are defined in ascii.f (they are the
corresponding Forth words where applicable so ascii.f makes a handy glossary).
You can compile and run with
gcc -nostdlib jonesforth.S
cat jonesforth.f - | ./a.out
and run the the examples like
cat jonesforth.f examples/sockets.f - | ./a.out
You may need to
stty iutf8
if your terminal isn't set up to handle utf8 by default.