What is Reva? -- רבע
Reva is based on RetroForth, with many ideas fom HelFORTH. It is a Forth language compiler/interpreter, which has goals which are not necessarily in keeping with the ANS Forth standard.
Reva is...
- Tiny: binaries are about 30k for both Windows and Linux
- Fast: many of the core functions are written in NASM (x86 assembly-language), and it benchmarks close to native C code in practice.
- Cross-platform: Almost all words are available for Windows, Linux and Mac OS/X.
- Public domain: You are free to modify Reva for your own use. I would appreciate it if you credited Reva as the source, however.
- Well documented: Besides the material here on the wiki, there is interactive help available within Reva itself (simply type help). In addition, there is a very active and helpful online user community.
- Practical: designed to accomplish real-world goals quickly and easily.
- Actively developed: there is always something new going on, with the input of the user community. You can also be one of those active developers if you so choose!
... but is not:
- ANS compliant: There are loads of ANS-compliant Forths. Reva is not one of them, though there is a meager attempt at a compatibility layer. If you wish, you can start Reva with the -a command-line switch -- this will load the (incomplete and lame) ANS compatibility layer.
- Complete: There is no attempt to add every possible feature. Rather, the idea is that it should be possible to build whatever is required from the core set, in a simple manner.
Getting started
Tutorial material
- The basic tutorial for Reva
- A more advanced tutorial for Reva
- Gotchas - things to be aware of
- Tips and Tricks
Reva compared to other Forths
Concepts
Forth
Reva
- Numbers: input, printing, types
- Strings
- Contexts: Reva's improved version of "VOCABULARY"
- Libraries: Adding functionality to Reva's core
- Turnkey: create a standalone application
- Sandbox: how to avoid screwing things up
- Files & File Handling