Free Forth Primer Project

1. Introduction

It has been known for many years that there is no better Forth Primer on the Internet than the 4tH Primer. Hundreds of people have used it to learn Forth. However, it is targetted to 4tH, which is slightly different from (ANS)Forth, which means that some sections do not apply and some examples won't work.

After some distinguished members of the Forth community had requested its use for their own systems, I decided to make an ANS-Forth version of it under the GNU Free Documentation License (FDL). I've finished work on the first draft and you can view it online.

Please note that this project is completely separated from the 4tH project. The documentation of 4tH isn't FDL and probably will never be. You don't need to have 4tH or even like 4tH in order to use it or participate.

2. Can I use it?

Yes, if you've made your own Forth system, you may include this manual. You may even modify it or add your own sections, but you have to leave some sections alone. And the resulting document will have to be released under the FDL again. Even if you have a commercial Forth system, you can still use this Primer, without the need to release your entire product under GPL. But the document itself, including all changes will remain under FDL.

The complete legal text is included in the document. Read it very carefully, since you cannot derive any rights from this page.

3. Can I help?

Yes, you can. There are still a few sections lacking, like files, etc. If you feel confident enough to write an article, please contact me. You'll get full credits, of course. Please note these guidelines:

4. Where can I get it?

You can get it right here. If you just want to learn Forth, download the 'Opaque' copy. If you want to modify it you need the 'Transparent' copy. In order to modify the transparent copy you need to have a way to edit LaTeX or LyX. These formats do count as 'Transparent copies' conforming the FDL. The current version is 0.4.

You can also view it online. Note that this HTML is generated.