StrongForth Homepage

StrongForth 1.4
ANS Compliance
Version History

StrongForth is a programming language that is very close to ANS Forth. One of the biggest differences is that it includes strong static type-checking. ANS Forth itself is often called typeless or untyped, which means that neither interpreter nor compiler do any type-checking when applying a function (a word) to one or more operands. It is completely up to the programmer to chose the correct functions. In StrongForth, the interpreter and the compiler check if a function matches the operands on the stack. This allows finding type mismatches and unbalanced loops and conditional branches already at compile time. Additionally, it is possible to overload words by using the same name for different functions, as long as each word expects a different set of parameters on the stack.

The majority of Forth users might believe that strong static typing is not Forth-like. Nevertheless, the implementation of StrongForth proves that Forth can incorporate static type-checking without increasing the complexity of the language.

StrongForth 1.4

Everyone interested in Forth with strong static type-checking is invited to download a free copy of StrongForth 1.4. It is a 16-bit pure text-mode application that runs in the DOS-box of every Windows PC. StrongForth is distributed under the GNU General Public license (see copying.txt).

Download StrongForth 1.4

To install StrongForth, simply unpack the ZIP file into a new directory. Before running forth.exe, this directory should be made the working directory. Standard words are recognized in upper case only, because StrongForth is case sensitive. Integer literals have data type UNSIGNED by default, and data type SIGNED if preceded by a sign character (- or +). Literals with a trailing decimal point are double-cell numbers. Floating-point numbers are always decimal and have an exponent indicated by an "E". To exit StrongForth, type BYE.

The ZIP file contains

The sources and build instructions can be downloaded here. You need Eric Isaacson's A86 assembler and a linker in order to build StrongForth 1.4.

For further documentation, please see the StrongForth reference manual, which contains a wealth of details about StrongForth 1.4 and its implementation.

Questions, comments and new ideas are welcome.

ANS Compliance

StrongForth is not compliant to ANS Forth. Nevertheless, it requires a closer look to see the differences in the source code. For example, The simple FIG block editor that is included in the package looks mostly like standard ANS. The main differences between ANS Forth and StrongForth are described in the introduction to StrongForth. See also the ANS Forth to StrongForth cross reference.

StrongForth 1.4 includes the following word sets, which have been only slightly modified with respect to the ANS Forth standard:

Note that some of these word sets are partly or fully provided as libraries in the forth.blk block file.

Version History

2000-07-30 Version 0.00

2000-08-31 Version 0.01

2000-09-30 Version 0.02

2000-12-03 Version 0.03

2005-12-30 Version 1.0

2006-11-09 Version 1.1

2007-04-24 Version 1.2

2008-01-10 Version 1.3

2008-04-10 Version 1.4


Dr. Stephan Becher - April 10th, 2008