FACT (computer language)

FACT is an early discontinued computer programming language, created by the Datamatic Division of Minneapolis Honeywell for its model 800 series business computers in 1959. FACT was an acronym for "Fully Automatic Compiling Technique". It was an influence on the design of the COBOL programming language.

Some of the design of FACT was based on the linguistic project Basic English, developed about 1925 by C.K. Ogden.

The software was actually designed by Computer Sciences Corporation (Fletcher Jones, Roy Nutt, and Robert L. Patrick) under contract to Richard Clippinger of Honeywell.

Contributions to COBOL
FACT was an influence in the design of COBOL, and is one of three predecessor languages credited in all COBOL manuals.

Several elements of FACT were incorporated into COBOL:


 * Defining data as levels, with group items and elementary items.
 * Assigning of initial values to data as it is being defined (VALUE clause).
 * Specifying a limited list of literal values allowed in a specific field (88 level data items).
 * A non-procedural report generator based on specifying the appearance of the desired report (Report Section in COBOL-66).
 * Qualification of data-names (IN or OF clause).
 * Group move of like-named items (MOVE CORRESPONDING).
 * Validity checks on procedural statements (ON ERROR clause).
 * Built-in SORT function.

Implementations
FACT was implemented in the 1960's, "Five FACT customers are writing all their applications using FACT" and "another dozen Honeywell customers use FACT to differing degrees.", this included a bank and a military inventory management system. It was being used by Australian Department of Defence in the 1960s and 1970s.

Sample program
The following code samples from the simple payroll application in the FACT specification show the fixed-form nature of FACT and its similarities with COBOL.

File outlines:

Source statements:

Report descriptions:

Report layouts: