'HAL/S' is a
real-time aerospace programming language, best known for its use in the
Space Shuttle program. It was designed by
Intermetrics in the
1970s for
NASA. HAL/S is written in
XPL, a dialect of
PL/I.
The three key factors in writing the language were reliability, efficiency, and machine-independence. The language is designed to allow aerospace-related tasks (such as
vector/
matrix arithmetic) to be accomplished in a way that is easily understandable to people with spaceflight knowledge (and not necessarily with computer programming proficiency.)
HAL/S is designed without certain functions (such as "
GOTO" in
BASIC) that are known to be the cause of many
errors. There are no abbreviations for
keywords, and keywords are all reserved so that they cannot also be used as
variables. Considerations such as this are designed to reduce the chances of errors occurring, and also make it easy for others to read and understand the programs produced (self-documenting code).
HAL is not an acronym. On the Preface page of the HAL/S Specification
[1], it says,
:"....Intermetrics wishes to acknowledge the fundamental contribution to the concept .....made by Dr. J. Halcombe Laning of the MIT's Draper Laboratory."
"HAL" was suggested as the name of the new language by Ed Copps, a founding director of Intermetrics, to honor Hal Laning, a colleague at MIT.
One particularly interesting feature of HAL is that it supports a three-line input format in which three source code lines are used for each statement, with the first and third lines usable for superscripts (exponents) and subscripts (indices). This was designed to be similar to mathematical notation.
See also
★
IBM AP-101 space shuttle avionics computer
External links
★
''Computers in Spaceflight: The NASA Experience'' – By George Tomayko (Appendix II: "HAL/S, A Real-Time Language for Spaceflight")
★
HAL/S Documents, including the language specification, programmer's guide, and compiler manuals
References
1. HAL/S Specification IR-61-5 (see HAL/S Documents link above)