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.


Web Chat on IRC
  #retro on (Matrix)
IRC Logs
Bug Reports

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.


New releases are normally made in January, July.

The current release is 2022.1
Source (tar.gz)
Release Signature
Prior Releases

Development Snapshots

These are updated hourly.
Latest Source
Latest Documentation (epub)
Latest Documentation (text)
retro.c (Amalgamation for BSD, Linux, Haiku, Windows)






RetroForth / Napia

Running on Napia, a new virtual machine for resource constrained targets, this is a new implementation of RetroForth.

It's not complete yet, and (due to differences needed because of resource constraints and the new underlying architecture) is not fully compatible with RetroForth/Nga, though it should be quite familiar for those using RetroForth/Nga.


Latest Snapshot.