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.

Community

Web Chat on IRC
  #retro on irc.libera.chat
  #retro:libera.chat (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.

Download

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)

Repositories

Fossil: http://forthworks.com:8000

Git:
https://git.sr.ht/~crc_/retroforth
https://github.com/crcx/retroforth.git

Resources

Examples


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.

Download

Latest Snapshot.

Repository

Git: https://git.sr.ht/~crc_/retroforth-napia