TACPOL (programming language)

TACPOL (Tactical Procedure Oriented Language) is a block structured programming language developed by the United States Army for the TACFIRE Tactical Fire Direction command and control application. TACPOL is similar to PL/I.

Data types
TACPOL supports fixed-point numeric data, character, and bit data. There is no support for floating point numeric data or for pointers. Arrays may have up to three dimensions, but dynamic bounds are not permitted. Additional types are records (called groups), tables, and overlay facilities.

Control Structures
Control structures include IF-THEN-ELSE, iteration, WHILE and CASE statements.

Procedures
Procedures may have value parameters, quantity parameters - by reference without type-checking, parameterless procedure and label parameters.

Implementations
The TACPOL compiler ran on and generated code for the AN/GYK-12, a militarized version of the Litton Industries L-3050 32-bit minicomputer.

Positive features

 * TACPOL is easy to learn.

Negative features

 * "TACPOL has a large number of special language features which were included for reasons of efficiency because the inclusion of corresponding cleanly designed general purpose features was not properly understood."
 * "Cost per instruction of TACPOL [is] higher than language used for other military computers."