2017-10-20 03:54:31 +02:00
|
|
|
## RETRO
|
2017-10-16 18:09:39 +02:00
|
|
|
|
2017-10-20 03:54:31 +02:00
|
|
|
RETRO is a modern, pragmatic Forth drawing influences from many sources.
|
2017-10-16 18:09:39 +02:00
|
|
|
|
2017-10-20 03:54:31 +02:00
|
|
|
Features:
|
2017-10-16 18:09:39 +02:00
|
|
|
|
2017-10-20 03:54:31 +02:00
|
|
|
- Open Source (ISC License)
|
|
|
|
- Portable (runs on a MISC-style virtual machine)
|
|
|
|
- Small source & binaries
|
|
|
|
- Builds into a single, self contained binary for easy deployment
|
|
|
|
- Sources in literate format, using a Markdown variant
|
|
|
|
|
|
|
|
The language is a Forth dialect drawing influence from some of Chuck
|
|
|
|
Moore's newer ideas. It's clean, elegant, tiny, and easy to grasp and
|
|
|
|
adapt to various uses.
|
2017-10-16 18:09:39 +02:00
|
|
|
|
|
|
|
## Quick Start
|
|
|
|
|
2018-02-02 21:21:45 +01:00
|
|
|
For FreeBSD, NetBSD, macOS, Linux:
|
2017-10-16 18:09:39 +02:00
|
|
|
|
2018-04-18 17:42:23 +02:00
|
|
|
make
|
2017-10-20 03:54:31 +02:00
|
|
|
|
|
|
|
Binaries will be found in the `bin` directory. The ones of interest
|
|
|
|
are:
|
|
|
|
|
2017-10-20 03:58:25 +02:00
|
|
|
rre
|
2017-10-20 03:54:31 +02:00
|
|
|
|
|
|
|
Short for `run retro and exit`, this is the primary interface for RETRO.
|
|
|
|
The `rre` interface is used to run the examples and Atua Gopher and HTTP
|
|
|
|
servers that power forthworks.com.
|
|
|
|
|
|
|
|
`rre` embeds the RETRO image into the binary, making it trivial to copy
|
|
|
|
and deploy.
|
|
|
|
|
2017-10-20 03:58:25 +02:00
|
|
|
repl
|
2017-10-20 03:54:31 +02:00
|
|
|
|
|
|
|
This is a basic `read-evaluate-print-loop` for interactive use. It's
|
|
|
|
intended for quick tests and as an easy starting point for new interfaces.
|
2018-02-02 21:21:45 +01:00
|
|
|
The `repl` interface looks for the RETRO image (`ngaImage`) in the current
|
|
|
|
working. If not found, this will use an embedded copy.
|