HAL/S
From Wikipedia, the free encyclopedia
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 officially stands for High-order Assembly Language, though the fictional HAL 9000 computer featured in 2001: A Space Odyssey may well have been an inspiration.
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.
[edit] See also
- IBM AP-101 space shuttle avionics computer
[edit] 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