• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..22-Apr-2021-

retroforth/H22-Apr-2021-13,60513,430

LICENSEH A D22-Apr-20211.9 KiB5341

READMEH A D22-Apr-20212.5 KiB9864

setup.pyH A D22-Apr-2021738 2620

README

1## Retro: A Modern, Pragmatic Forth
2
3RETRO is a modern, pragmatic Forth drawing influences from many
4sources. It's clean, elegant, tiny, and easy to grasp and adapt
5to various uses.
6
7Features:
8
9- Open Source (ISC License)
10- Portable (runs on a MISC-style virtual machine)
11- Small source & binaries
12- Builds into a single, self contained binary for easy deployment
13- Sources in literate format, using a Markdown variant
14
15## Quick Start
16
17For most systems (FreeBSD, NetBSD, OpenBSD, macOS, Linux):
18
19    make
20
21You will need a standard C compiler and `make`.
22
23## Executables
24
25Binaries will be placed in the `bin` directory.
26
27The primary executable is `retro`. This is used for running the
28examples and the Atua (gopher) & Casket (http) servers that
29power forthworks.com.
30
31The `retro` executable embeds the image into the binary, making
32it trivial to copy and deploy.
33
34This interface layer also extends the language with many new
35words and vocabularies, adds scripting, file i/o, gopher, and
36floating point math support.
37
38The `retro` executable can handle a variety of command line
39arguments:
40
41    retro -i
42
43Starts the *listener*, a basic REPL for interactive use.
44
45    retro filename
46
47This will run the code in the specified file, then exit. This
48is also used to run programs as shell-type scripts using a
49header line like `#!/usr/bin/env retro`.
50
51    retro -i -f filename
52
53This will run the code in the specified file, then start the
54listener.
55
56    retro -h
57
58Displays a summary of the command line arguments.
59
60Source files for use with `retro` are written with code in
61fenced blocks:
62
63    commentary here
64
65    ~~~
66    code here
67    ~~~
68
69Anything outside the fenced blocks will be ignored.
70
71## Documentation
72
73The primary documentation is in RETRO-Book.md (and the formatted
74RETRO-Book.html.) Additional notes can be found in the `doc`
75directory.
76
77## Alternative Implementations
78
79In addition to the C and Python implementations, this source
80tree includes additional implementations in C#, JavaScript,
81and Pascal. These are not as well tested or as feature complete
82as the main implementations, but are provided for your use if
83the standard implementations will not suffice.
84
85## Patreon
86
87I have a Patreon at https://www.patreon.com/_crc for those that
88want to financially support development. All funds raised via
89Pateron are put into development related expenses (server expenses,
90app store fees, hardware).
91
92Thanks go out to my current and past patrons:
93
94- Kiyoshi YONEDA
95- Krinkleneck
96- Rick Carlino
97- Scott McCallum
98