Retro Forth

Retro is a modern, pragmatic set of Forths drawing influence from many sources. It clean, elegant, tiny, easy to grasp, and adaptable to many tasks.

It's not a traditional Forth. Drawing influence from colorForth, it uses prefixes to guide the compiler. From Joy and Factor, it uses quotations (anonymous, nestable functions) and combinators (functions that operate on functions) for much of the stack and flow control. It also adds vocabularies for working with strings, arrays, and other data types. Source files are written in Unu, allowing for simple, literate sources.

The source and documentation are distributed under the ISC license.


#retro on (Matrix)

IRC Logs

Bug Reports

The Systems

RetroForth / nga

Retro runs on Nga, a tiny virtual machine emulating a MISC style processor. Implementations of this are included in 65c816 Assembly, C, C++, C#, JavaScript, Nim, Pascal, Python, Rust, Swift, and Retro.

This is the oldest active branch of development, and is recommended for most users.


The current release is 2023.3

Source & Docs


Updated from the development snapshots.

Latest Documentation (epub)

Latest Documentation (text)

Glossary (text)

Glossary [concise] (text)

Additional Documents

Development Snapshots

These are updated hourly.

Latest Source

retro.c (Amalgamation for BSD, Linux, Haiku, Windows)






RetroForth / napia

Napia presents a new target, fitting between ilo and nga. It's based on the ilo design, but adds in multiple processor cores, per-core stacks and registers, and additional i/o functionality.

Retro/napia is under development and has not yet seen a stable release.

RetroForth / ilo

Running on ilo, a simple, lightweight virtual computer, this offers a smaller Forth implementation, significantly reduced memory and processor requirements (it's been run on an emulated 8088/8086 w/384k RAM), and a small set of i/o devices.

Retro/ilo is under development and has not yet seen a stable release.