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

..03-May-2022-

.builds/H22-Apr-2021-4541

benchmarks/H22-Apr-2021-4429

doc/H03-May-2022-18,90013,187

example/H03-May-2022-14,55510,995

image/H22-Apr-2021-3,6752,956

interface/H22-Apr-2021-975779

man/H22-Apr-2021-238214

nga-c/H03-May-2022-1,7301,524

package/H22-Apr-2021-150108

rel/python/H22-Apr-2021-13,78213,555

security/H22-Apr-2021-4229

tests/H22-Apr-2021-2,7162,098

tools/H22-Apr-2021-3,7502,798

vm/H22-Apr-2021-25,50121,072

.gitattributesH A D22-Apr-202166 32

GNUmakefileH A D22-Apr-20218 KiB208140

LICENSEH A D22-Apr-20211.9 KiB5341

MakefileH A D22-Apr-20217.9 KiB204137

Makefile.pythonH A D22-Apr-2021700 2116

READMEH A D22-Apr-20212.4 KiB9563

RELEASE-NOTESH A D22-Apr-20211.4 KiB5940

retroforth.elH A D22-Apr-20219.5 KiB286158

README

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