«previous next»

TABLE OF CONTENTS

Abstract & Authors

1. Chuck Moore's Programming Language

1.2 Philosophy and Goals

2. Development and Dissemination

3. Forth Without Chuck Moore

4. Hardware Implementations of Forth

5. Present and Future Directions

6. A Posteriori Evaluation

References

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).

«previous next»