- HAL/S
HAL/S is a real-time
aerospace programming language , best known for its use in theSpace Shuttle program . It was designed byIntermetrics in the 1970s forNASA . HAL/S is written inXPL , a dialect ofPL/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
variable s.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 ofIntermetrics , to honor Hal Laning, a colleague atMIT .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 .ee also
*
IBM AP-101 space shuttle avionics computerExternal links
* [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")References
Wikimedia Foundation. 2010.