-*- mode: org -*-
┌──────────────────────────────────────────────────────────────────────┐
│ Libraries │
│ │
│ - OO, Logic, Device-specific routines, text manipulation │
│ │
│ │
├──────────────────────────────────────────────────────────────────────┤
│ Workbooks and Sheets (IDE) │
│ │
│ - aggregating forth dictionaries as outlines │
│ │
│ │
├──────────────────────────────────────────────────────────────────────┤
│ Compiler │
│ │
│ - new word creation from text │
│ │
│ │
├──────────────────────────────────────────────────────────────────────┤
│ Interpreter │
│ │
│ - text interpretation │
│ │
│ │
├──────────────────────────────────────────────────────────────────────┤
│ Device Access │
│ │
│ - display and keyboard │
│ │
│ - disk access (sheets r/w) │
├──────────────────────────────────────────────────────────────────────┤
│ Kernel │
│ │
│ - run-time word definition and compilation │
│ │
│ - inner interpreter (address interpreter) │
│ │
│ - hardware access │
┌─────┴──────────────────────────────────────────────────────────────────────┴────┐
│ Hardware │
│ │
│ - J1-like │
│ │
│ - Pi / Arduino │
│ │
│ - VM (KVVL) │
└─────────────────────────────────────────────────────────────────────────────────┘
| # | Lang | Name | Creator | Primitives | Notes | |
|---|---|---|---|---|---|---|
| 3 | Forth | 3 Instruction Forth | Frank Sargent | XC@ XC! XCALL | https://pygmy.utoh.org/3ins4th.html | |
| 8 | BrainFuck | BF | Urban Müller | > < + - . , [ ] | ||
| 9 | Forth | Forth Bootstrap | Mark Hays | @ ! + AND XOR (URSHIFT) (LITERAL) (ABORT) EXECUTE | ||
| 9 | Forth | Minimal Forth Machine | Mikael Patel | 1+ 0= NAND >R R> ! @ CALL EXIT | https://github.com/fogus/papers-i-love/blob/master/languages/forth/Patel-Vagen_mot_en_minimal_Forth_arkitektur.pdf | |
| 9 | LISP | McCarthy LISP | John McCarthy | atom car cdr cond cons eq label lambda quote | ||
| 11 | Forth | Minimal+ Forth Machine | Mikael Patel | 1+ 0= NAND >R R> ! @ CALL EXIT FETCH PERFORM | ||
| 13 | Forth | Complete Forth Minimum | Brad Rodriguez | https://www.bradrodriguez.com/papers/moving1.htm | ||
| 16 | Forth | F21 instructions, minimal | Chuck Moore | http://www.ultratechnology.com/f21data.pdf | ||
| 20 | Forth | Dynamic Instruction Frequencies | Philip Koopman | CALL EXIT EXECUTE VARIABLE USER LIT CONSTANT 0BRANCH BRANCH I @ C@ R> >R SWAP DUP ROT + = AND | https://users.ece.cmu.edu/~koopman/stack_computers/sec6_3.html | |
| 23 | Forth | MRForth | Mark Hays | C@ C! @ ! DROP DUP SWAP OVER $>$R R$>$ + AND OR XOR (URSHIFT) 0$<$ 0= (LITERAL) EXIT (ABORT) (EMIT) (KEY) | https://github.com/minmus-9/MRForth | |
| 25 | Forth | MuP21 CPU instructions | Chuck Moore | http://www.ultratechnology.com/mup21.html | ||
| 29 | Forth | F21 instructions, full | Chuck Moore | |||
| 30 | Forth | eForth | Bill Muench | https://web.archive.org/web/20060108104727/http://www.baymoon.com/~bimu/forth/ | ||
| 36 | Forth | eForth | C.H. Ting | BYE ?RX TX! !IO doLIT doLIST EXIT EXECUTE next ?branch branch ! @ C! C@ RP@ RP! R> R@ >R SP@ SP! DROP DUP SWAP OVER 0< AND OR XOR UM+ |
http://forthworks.com/forth/papers/compare.pdf | |
| 46 | Forth | GForth for 8086 | GNU | :DOCOL :DOCON :DODEFER :DOVAR :DODOES ;S BYE EXECUTE BRANCH ?BRANCH LIT @ ! C@ C! SP@ SP! R> R@ >R RP@ RP! + - OR XOR AND 2/ (EMIT) EMIT? (KEY) (KEY?) DUP 2DUP DROP 2DROP SWAP OVER ROT -ROT UM* UM/MOD LSHIFT RSHIFT 0= = | ||
| 58 | Forth | FORTH-83 nucleus | Forth Inc. | https://www.complang.tuwien.ac.at/forth/fth83std/FORTH83.TXT |