💾 Archived View for retroforth.org captured on 2022-03-01 at 15:02:30. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2022-01-08)

➡️ Next capture (2023-01-29)

🚧 View Differences

-=-=-=-=-=-=-

      d8888b. d88888b d888888b d8888b.  .d88b.
      88  `8D 88'     `~~88~~' 88  `8D .8P  Y8.
      88oobY' 88ooooo    88    88oobY' 88    88
      88`8b   88~~~~~    88    88`8b   88    88
      88 `88. 88.        88    88 `88. `8b  d8'
      88   YD Y88888P    YP    88   YD  `Y88P'

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

#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 made in January and July.

The current release is 2022.1

Source & Docs

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.

Latest Snapshot

Git:

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