HAL/S is a real-time
aerospace programming language, best known for its use in the Space Shuttle program. It was designed by Intermetricsin 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 who have spaceflight knowledge, but may not necessarily have proficiency with computer programming.
HAL/S is designed without many of the constructs 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
Some features, such as "
GOTO" are provided chiefly to ease mechanical translations from other languages. [ [http://klabs.org/richcontent/software_content/hal_s/programming_in_hal-s.pdf] "Programming in HAL/S", page 82]
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 Language Specification [ [http://klabs.org/richcontent/software_content/hal_s/hal-s_language_specification.pdf] "HAL/S Language Specification"] , it says,:"....fundamental contributions to the concept and implementation of MAC were made by Dr. J. Halcombe Laning of the
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
IBM AP-101space shuttle avionics computer
* [http://klabs.org/DEI/Processor/shuttle/ NASA Office of Logic Design: Space Shuttle Computers and Avionics] :*Includes [http://klabs.org/richcontent/software_content/hal_s/hal-s_language_specification.pdf language] and [http://klabs.org/richcontent/software_content/hal_s/hal-s_compiler_system_specification.pdf compiler] specifications, [http://klabs.org/richcontent/software_content/hal_s/hal-s_programmers_guide.pdf programmer's guide] , and [http://klabs.org/richcontent/software_content/hal_s/hal-s-fc_users_manual.pdf user manual] .
* [http://www.hq.nasa.gov/office/pao/History/computers/Appendix-II.html "Computers in Spaceflight: The NASA Experience"] – By George Tomayko (Appendix II: "HAL/S, A Real-Time Language for Spaceflight")
Wikimedia Foundation. 2010.