1. Chuck Moore's Programming Language
2. Development and Dissemination
4. Hardware Implementations of Forth
5. Present and Future Directions
Addenda
Addendum to Section 2.2.2
NRAO, dates, and robustness
In September 1989, Rather and Conklin were shocked to get a "hot line"
phone call at FORTH, Inc. from NRAO's 11-M telescope: the calendar had
suddenly misbehaved. The problem was a form of Y2K bug: The Forth program
(and many Forth systems since) kept dates internally as a sort of Julian
day number, counting from 0 at 1/1/1900. Thus, dates can be represented
internally as 16-bit integers, where they're not only smaller but much
easier to do calculations on. But a 16-bit signed date "rolled over" on
Sept. 17, 1989 (day 32767). The simple fix (which had long since been in
use at FORTH, Inc.) was to use unsigned arithmetic, which will allow 16-bit
dates to run until June 5, 2079.
The shock was finding that the system was still in use: an astounding 17-year life span. The program had been ported to several generations of new hardware, but was functioning satisfactorily and performing functions still not available at many observatories. It remained in use until the telescope was decomissioned a few years later.
The University of Wyoming program was later adopted by the University of Minnesota and is still (1999) used by astronomers at four different observatories.
Addendum to Section 2.4.3.3
Interpreters
Although the "address interpreter" described here was a dominant
implementation strategy in Forth for many years, it isn't an inherent
feature of the language. By the late 1990's, most commercial systems had
switched to a combination of subroutine-threading and direct code
compilation with code optimization (see Section 5.2).
This gives significantly faster performance on most platforms, and is even smaller
than interpreted code on 32-bit and larger processors.
Addendum to Section 3.2
Commercial and Public Domain Systems
for Personal Computers, Table 3
Unfortunately, some of these are no longer operating. Bradley Forthware is
now Firmworks, specializing in software and support for Open Firmware. Don
Colburn retired and sold Creative Solutions in 1995; the MacForth product line is
currently maintained and supported by MegaWolf, Inc. Palo Alto Shipping is no longer in
business, and several other vendors on this list are relatively inactive.
On the bright side, MicroProcessor Engineering (MPE) and FORTH, Inc. have new lines of Windows-based Forths and Forth cross-compilers for embedded systems, and Tom Zimmer (along with Andrew McEwen) developed the popular public-domain Win32Forth. There are also several GPL and public-domain Forths for Unix and Linux, notably gForth, bigForth, and iForth (see www.forth.org for links).
Addendum to Section 3.3.1
Environment and applications
For a list of more recent Forth space applications, see NASA's
Space-Related Applications of Forth.
Sun Microsystems' Open Boot evolved to Open Firmware (IEEE1275, 1994), and is today the predominant boot-level "plug-and-play" firmware in non-Intel PCI bus systems from Apple, IBM, and others in addition to Sun.
Addendum to Section 4
Hardware Implementations of Forth
The Harris RTX-2010 is available as a radiation-hardened device, and is still
used in military and aerospace applications. Several other Forth chips
have been developed, such as Patriot Scientific's
PTS1000 (although Patriot has, for marketing reasons, promoted it as a Java
chip).
Chuck Moore is currently designing multi-core Forth chips
for his new company IntellaSys.
Addendum to Section 5.1
Standardization Efforts
An ANSI standard (X3.215.1994) was published in 1994, and the same
technical content subsequently received "fast track" approval as ISO/IEC
15145:1997. ANSI requires that a standard be re-evaluated
every five years; at the time of this writing, this effort is currently in progress.
A set of extensions to Forth has formed the basis for Open Firmware (IEEE 1275), a standard based on work done by Mitch Bradley and others at Sun Microsystems in the late 1980s which is widely used for plug-and-play firmware at Sun, Apple, IBM, and other organizations.
Addendum to Section 5.2
Implementation Strategies
By the late 1990's, most professional versions of Forth and several freeware
versions embraced direct-code compilation with code optimization, giving
performance comparable to well-optimized C. See
SwiftForth and
SwiftX.
Addendum to Section 5.3
Object-oriented Extensions
Most Windows-based Forths offer object-oriented extensions. Read about
SwiftForth's OOP package, called SWOOP.
Addendum to References & Bibliography
Conklin, Edward K. and Rather, Elizabeth D. Forth Programmer's Handbook. Los Angeles, California: FORTH, Inc. (3rd ed., 2007)
Rather, Elizabeth D. et al. Forth Application Techniques. Los Angeles, California: FORTH, Inc. (5th ed., 2008)
Open Firmware (formerly IEEE-1275) Open Firmware
Conklin, Edward K. "Smart Cards and the Open Terminal Architecture," Dr. Dobb's Journal (Dec. 1998).