Reva FAQ
From RevaWiki
Return to the main manual page
- What is Reva? What is Forth?
- Reva is an implementation of the Forth language. Forth is a programming language originally conceived and implemented by Chuck Moore, who is still an important driving force in the language's development.
- I never heard of Forth before, it must be some kind of lunatic-fringe language!
- So go play with VBScript and leave me alone! But seriously, Forth is often used in embedded devices (like your microwave, car, etc.) and in satellites and other places where small size and efficient operation are important.
- How can I learn it? My school doesn't teach Forth!
- You can start with the Reva Tutorial. This will get your feet wet, and give you some familiarity with Forth as implemented by Reva. Another important document is the list of words implemented in Reva. There is also a tips document. These are all kept up-to-date. Other resources you may want to investigate include: the RetroForth board. Since Reva is a derivative of RetroForth, it's discussed there.
- Leo Wong's Forth site has lots of interesting and useful pointers and links.
- David N. Williams Forth site
- The online version of the book Thinking Forth, which is an excellent introduction on how to approach Forth.
- There are two good books you might purchase from Elizabeth Rather at Forth, Inc.
- But the best way to learn Forth is to start up the Forth interpreter and play around with it! Don't be afraid of messing something up.
- What platforms does Reva run on?
- Reva is currently targetted at Windows and Linux. It also requires at least a Pentium processor.
- How much does it cost?
- Zilch. Zero. Nada. Nichts. אפס.
- Can I use it in my own projects? What about commercial projects?
- Yes, it is released to the Public Domain -- you can use it for your own projects and/or commercial projects. I would appreciate it if you mentioned where it came from (and stuck a pointer to the Reva website in your documentation. Oh, and if you would like to pay me for it even though you don't have to, I wouldn't mind.
- How can I pay for it, should I wish to?
- How nice of you to ask! Go here and PayPal me whatever amount you think Reva is worth to you
- How do I rebuild Reva, and why would I want to?
- You will need the FASM assembler, at a minimum. To compile for Linux you will also need "gcc" and build on Linux. Hopefully I'll get around that limitation soon. Look inside the makefile which comes with Reva and you should be able to figure out what to do. Or you can just type make if you have the proper tools installed (like, well, make).
- You will want to rebuild Reva if you need to increase the size of any of the internal structures for some reason. For example, if the dictionary is too small for your needs, or if there isn't enough "compiled string" space. Most people will not need to recompile Reva, but it's not hard to do if you need to.
- How do I load my own cool source code?
- You can use the word include inside Reva; alternatively, you can start Reva with a command-line, and each file on the command-line will get included, like so:
C:\REVA> reva mycoolsource.f
- I don't like that .f file extension - do I have to use it?
- Reva doesn't care what the file is named, but some other tools -- like programmer's editors -- may use the file extension to figure out what kind of file it is. The short answer is, "No, you don't have to".
- Will Reva support the DataHumper 2000?
- My time is limited, as are my funds. If you want support for a specific platform, you may either add it yourself, or give me a machine loaded with the platform you want supported. I would appreciate it if you sent me a copy of whatever modifications or additions you made.
- Will you make Reva ANS-compliant?
- No, since I see no need to make yet another mostly-ANS compliant Forth. If that's what you really want, try one of the big Forths like gforth or the wonderfully named BigForth. Nevertheless, there is the start of an ANS compatibility layer in the lib directory. Try needs ansi, or start Reva with the -a option.
- What kind of name is Reva?
- The name "Reva" is a multilingual play on words. "Reva" in Hebrew (רבע) means "one-quarter", e.g. a fourth of something. Reva is just "one Forth". So now you know ...
