Node:Standard vs Extensions, Next:Model, Previous:ANS conformance, Up:Top
As you read through the rest of this manual, you will see documentation for Standard words, and documentation for some appealing Gforth extensions. You might ask yourself the question: "Should I restrict myself to the standard, or should I use the extensions?"
The answer depends on the goals you have for the program you are working on:
If restricting the program to Gforth is ok, then there is no reason not to use extensions. It is still a good idea to keep to the standard where it is easy, in case you want to reuse these parts in another program that you want to be portable.
If you want to be able to port the program to other Forth systems, there are the following points to consider:
compat/directory. These are mentioned in the text in passing. There is no reason not to use these extensions, your program will still be ANS Forth compliant; just include the appropriate compat files with your program.
ans-report.fs(see ANS Report) makes it easy to analyse your program and determine what non-Standard words it relies upon. However, it does not check whether you use standard words in a non-standard way.
In order to perform these consideratios, you need to know what's standard and what's not. This manual generally states if something is non-standard, but the authoritative source is the standard document. Appendix A of the Standard (Rationale) provides a valuable insight into the thought processes of the technical committee.
Note also that portability between Forth systems is not the only portability issue; there is also the issue of portability between different platforms (processor/OS combinations).