RETRO is a clean, elegant, and pragmatic dialect of Forth. It provides
a simple alternative for those willing to make a break from legacy
The language draws influences from many sources including traditional
Forth systems, cmForth, colorForth, Factor, and Parable. It was
designed to be easy to grasp and adapt to specific uses.
The basic language is very portable. It runs on a tiny virtual
machine (Nga), which is written in C. There are multiple interface
options, the main one (rre) is buildable with just the standard C
compiler and libraries on most systems.
These include source code, documentation, and some examples.
BIN Latest Release (2018.8, .tar.gz)
BIN Latest Release (2018.8, .zip)
[DIR] Prior Versions
Development is tracked using a Fossil repository.
Clone the repo:
fossil clone http://forthworks.com:8000 retro.fossil
And open it:
fossil open /path/to/retro.fossil
I generate nightly snapshots of the development version.
BIN Nightly Snapshot
TXT Latest Changes (updates hourly)
BIN macOS (2018.8; disk image w/docs, samples, binary)
BIN DOS (2018.8; x86)
BIN Windows (2018.4; x86, x86-64, .NET)
Packages & Ports
NetBSD pkgsrc: lang/forth-retro
I develop and maintain commercial versions for iOS and macOS. These
run the same image and virtual machine as all of the other systems,
but add a custom editor-centric interface and some additional words
to make them more useful on their respective platforms.
Proceeds from the commercial versions pay for the hosting of this
server, recurring Apple development fees, and an occasional cup of
tea or coffee.
HTM RETRO for macOS
HTM RETRO for iOS
You can view the glossary via Gopher or HTTP. This is served off the
latest documentation in the repository by a server written in RETRO.
[DIR] Glossary Browser (gopher)
HTM Glossary Browser (http)
TXT Glossary (text)
0Platform Support /retro/platforms.txt
TXT Notes on the Language
TXT Notes on the RRE Interface
TXT Notes on Evolution of Ngaro into Nga
TXT Notes on Metacompilation & Assembly
TXT Notes on Kernel Wordset
TXT Notes on Prefixes as a Language Element
And of some historic note:
TXT Design Philosophy of RETRO Native Forth
TXT On The Naming of RETRO
I can be reached:
- @crcx on Twitter
- @firstname.lastname@example.org on Mastodon
- /r/forth on reddit (/u/_crc)
- #retro on irc.freenode.net (look for crc)
The IRC channel is logged at http://tunes.org/~nef/logs/retro and a
mirror is provided via gopher:
[DIR] IRC Channel Logs
forthworks.com:80 / atua-www / running on retro