Misplaced Pages

HAL/S

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

HAL/S ( High-order Assembly Language/Shuttle ) is a real-time aerospace programming language compiler and cross-compiler for avionics applications used by NASA and associated agencies ( JPL , etc.). It has been used in many U.S. space projects since 1973 and its most significant use was in the Space Shuttle program (approximately 85% of the Shuttle software was coded in HAL/S). It was designed by Intermetrics in 1972 for NASA and delivered in 1973. HAL/S is written in XPL , a dialect of PL/I . Although HAL/S is designed primarily for programming on-board computers, it is general enough to meet nearly all the needs in the production, verification, and support of aerospace and other real-time applications. According to documentation from 2005, it was being maintained by the HAL/S project of United Space Alliance .

#135864

47-449: The three key principles in designing 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 by people who have spaceflight knowledge, but may not necessarily have proficiency with computer programming. HAL/S was designed not to include some constructs that were thought to be

94-504: A DECLARE STRUCT statement. Software portability Software portability is a design objective for source code to be easily made to run on different platforms . An aid to portability is the generalized abstraction between the application logic and system interfaces . When software with the same functionality is produced for several computing platforms , portability is the key issue for development cost reduction. Software portability may involve: When operating systems of

141-460: A verbose original: "To the extent that policymakers and elite opinion in general have made use of economic analysis at all, they have, as the saying goes, done so the way a drunkard uses a lamppost: for support, not illumination", can be quoted succinctly as: "[P]olicymakers [...] have made use of economic analysis [...] the way a drunkard uses a lamppost: for support, not illumination." When nested parentheses are needed, brackets are sometimes used as

188-733: A colleague at MIT . On the Preface page of the 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 . A proposal for a NASA standard ground-based version of HAL named HAL/G for "ground" was proposed, but the coming emergence of the soon to be named Ada programming language contributed to Intermetrics' lack of interest in continuing this work. Instead, Intermetrics would place emphasis on what would be

235-492: A common web browser. Such web applications must, for security reasons, have limited control over the host computer, especially regarding reading and writing files. Non-web programs, installed upon a computer in the normal manner, can have more control, and yet achieve system portability by linking to portable libraries providing the same interface on different systems. Software can be compiled and linked from source code for different operating systems and processors if written in

282-408: A different order of operations . For example: in the usual order of algebraic operations, 4 × 3 + 2 equals 14, since the multiplication is done before the addition . However, 4 × (3 + 2) equals 20, because the parentheses override normal precedence, causing the addition to be done first. Some authors follow the convention in mathematical equations that, when parentheses have one level of nesting,

329-512: A labeled PROGRAM statement; the label consists of an identifier followed by a colon. All variables must be declared in the DECLARE group, which precedes any executable statements. Every program ends with a CLOSE delimiting statement. HAL/S has native support for integers , floating point scalars , vector , matrices , booleans and strings of 8-bit characters, limited to a maximum length of 255. Structured types may be composed using

376-403: A parenthesis. Again, the parenthesis implies that the meaning and flow of the bracketed phrase is supplemental to the rest of the text and the whole would be unchanged were the parenthesized sentences removed. The term refers to the syntax rather than the enclosure method: the same clause in the form "Mrs. Pennyfarthing – What? Yes, that was her name! – was my landlady"

423-509: A programming language supporting compilation for the platforms. This is usually a task for the program developers; typical users have neither access to the source code nor the required skills. In open-source environments such as Linux the source code is available to all. In earlier days source code was often distributed in a standardised format, and could be built into executable code with a standard Make tool for any particular system by moderately knowledgeable users if no errors occurred during

470-502: A substitute for the inner pair of parentheses within the outer pair. When deeper levels of nesting are needed, convention is to alternate between parentheses and brackets at each level. Alternatively, empty square brackets can also indicate omitted material, usually single letter only. The original, "Reading is also a process and it also changes you." can be rewritten in a quote as: It has been suggested that reading can "also change[] you". In translated works, brackets are used to signify

517-542: Is a notation that was pioneered by Berzelius , who wanted chemical formulae to more resemble algebraic notation, with brackets enclosing groups that could be multiplied (e.g. in 3(AlO 2 + 2SO 3 ) the 3 multiplies everything within the parentheses). In chemical nomenclature , parentheses are used to distinguish structural features and multipliers for clarity, for example in the polymer poly(methyl methacrylate) . [ and ] are square brackets in both British and American English, but are also more simply brackets in

SECTION 10

#1732779804136

564-437: Is also a parenthesis. (In non-specialist usage, the term "parenthetical phrase" is more widely understood. ) In phonetics , parentheses are used for indistinguishable or unidentified utterances. They are also seen for silent articulation (mouthing), where the expected phonetic transcription is derived from lip-reading, and with periods to indicate silent pauses, for example (...) or (2 sec) . An unpaired right parenthesis

611-845: Is also used in British English. Parentheses contain adjunctive material that serves to clarify (in the manner of a gloss ) or is aside from the main point. A comma before or after the material can also be used, though if the sentence contains commas for other purposes, visual confusion may result. A dash before and after the material is also sometimes used. Parentheses may be used in formal writing to add supplementary information, such as "Senator John McCain ( R  - Arizona) spoke at length". They can also indicate shorthand for " either singular or plural " for nouns, e.g. "the claim(s)". It can also be used for gender-neutral language , especially in languages with grammatical gender , e.g. "(s)he agreed with his/her physician" (the slash in

658-406: Is denoted by a dollar sign , with the subscript expression enclosed in parentheses . The same code fragment could be written in multiple-line format as: In the example, the base line of the statement is indicated by an 'M' in the first column, the exponent line is indicated by an 'E', and the subscript line is indicated by an 'S'. The following is a simple HAL/S program. Every program begins with

705-444: Is in any way altered, the alterations are enclosed in square brackets within the quotation to show that the quotation is not exactly as given, or to add an annotation . For example: The Plaintiff asserted his cause is just, stating, [m]y causes is [ sic ] just. In the original quoted sentence, the word "my" was capitalized: it has been modified in the quotation given and the change signalled with brackets. Similarly, where

752-404: Is in doubt". Or one can quote the original statement "I hate to do laundry" with a (sometimes grammatical) modification inserted: He "hate[s] to do laundry". Additionally, a small letter can be replaced by a capital one, when the beginning of the original printed text is being quoted in another piece of text or when the original text has been omitted for succinctness— for example, when referring to

799-436: Is often used as part of a label in an ordered list, such as this one: a) educational testing, b) technical writing and diagrams, c) market research , and d) elections . Traditionally in accounting , contra amounts are placed in parentheses. A debit balance account in a series of credit balances will have parenthesis and vice versa. Parentheses are used in mathematical notation to indicate grouping, often inducing

846-427: Is specifically designed to run on different computers with compatible operating systems and processors, without any machine-dependent installation. Porting is no more than transferring specified directories and their contents. Software installed on portable mass storage devices such as USB sticks can be used on any compatible computer on simply plugging the storage device in, and stores all configuration information on

893-466: Is such that detailed software operation is different; an application designed to display suitably on a large screen cannot simply be ported to a pocket-sized smartphone with a tiny screen even if the functionality is similar. Web applications are required to be processor independent, so portability can be achieved by using web programming techniques, writing in JavaScript . Such a program can run in

940-483: The ( ... ) marks and in American English the [ ... ] marks. Other minor bracket shapes exist, such as (for example) slash or diagonal brackets used by linguists to enclose phonemes . Brackets are typically deployed in symmetric pairs, and an individual bracket may be identified as a 'left' or 'right' bracket or, alternatively, an "opening bracket" or "closing bracket", respectively, depending on

987-520: The International Code of Nomenclature of Prokaryotes (ICNP) requires the use of the abbreviation "subgen". as well, e.g., Acetobacter (subgen. Gluconoacetobacter ) liquefaciens . Parentheses are used in chemistry to denote a repeated substructure within a molecule, e.g. HC(CH 3 ) 3 ( isobutane ) or, similarly, to indicate the stoichiometry of ionic compounds with such substructures: e.g. Ca(NO 3 ) 2 ( calcium nitrate ). This

SECTION 20

#1732779804136

1034-487: The RCA CDP1802 COSMAC microprocessor (Galileo Project and others). HAL/S is a mostly free-form language : statements may begin anywhere on a line and may spill over the next lines, and multiple statements may be fitted onto the same line if required. However, non-space characters in the first column of a program line may have special significance. For instance, the letter 'C' in the first column indicates that

1081-556: The directionality of the context. In casual writing and in technical fields such as computing or linguistic analysis of grammar , brackets nest , with segments of bracketed material containing embedded within them other further bracketed sub-segments. The number of opening brackets matches the number of closing brackets in such cases. Various forms of brackets are used in mathematics , with specific mathematical meanings, often for denoting specific mathematical functions and subformulas . Angle brackets or chevrons ⟨ ⟩ were

1128-505: The em dash is currently used in alternatives, such as "parenthesis)(parentheses". Examples of this usage can be seen in editions of Fowler's Dictionary of Modern English Usage . Parentheses may be nested (generally with one set (such as this) inside another set). This is not commonly used in formal writing (though sometimes other brackets [especially square brackets] will be used for one or more inner set of parentheses [in other words, secondary {or even tertiary} phrases can be found within

1175-534: The "Red" finalist which would not be selected. Host compiler systems have been implemented on an IBM 360/370, Data General Eclipse , and the Modcomp IV/Classic computers. Target computer systems have included IBM 360/370 , IBM AP-101 (space shuttle avionics computer), Sperry 1819A/1819B, Data General Nova and Eclipse, CII Mitra 125, Modcomp II and IV, NASA Std. Spacecraft Computer-l and Computer-2, ITEK ATAC 16M ( Galileo Project ), and since 1978

1222-849: The 8-bit code of the IBM 7030 Stretch . In 1961, ASCII contained parentheses, square, and curly brackets, and also less-than and greater-than signs that could be used as angle brackets. In English, typographers mostly prefer not to set brackets in italics , even when the enclosed text is italic. However, in other languages like German , if brackets enclose text in italics, they are usually also set in italics. ( and ) are parentheses / p ə ˈ r ɛ n θ ɪ s iː z / (singular parenthesis / p ə ˈ r ɛ n θ ɪ s ɪ s / ) in American English, and either round brackets or simply brackets in British English. They are also known as "parens" / p ə ˈ r ɛ n z / , "circle brackets", or "smooth brackets". In formal writing, "parentheses"

1269-463: The Wolfram language, parentheses are used to indicate grouping – for example, with pure anonymous functions. If it is desired to include the subgenus when giving the scientific name of an animal species or subspecies , the subgenus's name is provided in parentheses between the genus name and the specific epithet . For instance, Polyphylla ( Xerasiobia ) alba is a way to cite

1316-475: The build. Some Linux distributions distribute software to users in source form. In these cases there is usually no need for detailed adaptation of the software for the system; it is distributed in a way which modifies the compilation process to match the system . Even with seemingly portable languages like C and C++ , the effort to port source code can vary considerably. The authors of UNIX/32V (1979) reported that "[t]he (Bourne) shell [...] required by far

1363-413: The cause of errors . For instance, there is no support for dynamic memory allocation. The language provides special support for real-time execution environments. Some features, such as " GOTO " were provided chiefly to ease mechanical translations from other languages. (page 82) "HAL" was suggested as the name of the new language by Ed Copps, a founding director of Intermetrics , to honor Hal Laning,

1410-455: The citation of law reports to identify parallel citations to non-official reporters. For example: Chronicle Pub. Co. v Superior Court (1998) 54 Cal.2d 548, [7 Cal.Rptr. 109] In some other countries (such as England and Wales ), square brackets are used to indicate that the year is part of the citation and parentheses are used to indicate the year the judgment was given. For example: National Coal Board v England [1954] AC 403 This case

1457-401: The earliest type of bracket to appear in written English . Erasmus coined the term lunula to refer to the round brackets or parentheses (   ) recalling the shape of the crescent moon ( Latin : luna ). Most typewriters only had the left and right parentheses. Square brackets appeared with some teleprinters. Braces (curly brackets) first became part of a character set with

HAL/S - Misplaced Pages Continue

1504-692: The inner pair are parentheses and the outer pair are square brackets. Example: Parentheses are included in the syntaxes of many programming languages . Typically needed to denote an argument; to tell the compiler what data type the Method/Function needs to look for first in order to initialise. In some cases, such as in LISP , parentheses are a fundamental construct of the language. They are also often used for scoping functions and operators and for arrays. In syntax diagrams they are used for grouping, such as in extended Backus–Naur form . In Mathematica and

1551-487: The largest conversion effort of any supposedly portable program, for the simple reason that it is not portable." Sometimes the effort consists of recompiling the source code, but sometimes it is necessary to rewrite major parts of the software. Many language specifications describe implementation defined behaviour (e.g. right shifting a signed integer in C can do a logical or an arithmetic shift). Operating system functions or third party libraries might not be available on

1598-467: The latter. An older name for these brackets is "crotchets". Square brackets are often used to insert explanatory material or to mark where a [word or] passage was omitted from an original material by someone other than the original author, or to mark modifications in quotations. In transcribed interviews, sounds, responses and reactions that are not words but that can be described are set off in square brackets — "... [laughs] ...". When quoted material

1645-411: The main parenthetical sentence]). A parenthesis in rhetoric and linguistics refers to the entire bracketed text, not just to the enclosing marks used (so all the text in this set of round brackets may be described as "a parenthesis"). Taking as an example the sentence "Mrs. Pennyfarthing (What? Yes, that was her name!) was my landlady.", the explanatory phrase between the parentheses is itself called

1692-588: The porting effort. In practice the claim of languages, like C and C++ , to have the WOCA ( write once, compile anywhere ) is arguable. Parenthesis A bracket is either of two tall fore- or back-facing punctuation marks commonly used to isolate a segment of text or data from its surroundings. They come in four main pairs of shapes, as given in the box to the right, which also gives their names, that vary between British and American English . "Brackets", without further qualification, are in British English

1739-500: The quotation contained a grammatical error (is/are), the quoting author signalled that the error was in the original with "[ sic ]" (Latin for 'thus'). A bracketed ellipsis , [...], is often used to indicate omitted material: "I'd like to thank [several unimportant people] for their tolerance [...]" Bracketed comments inserted into a quote indicate where the original has been modified for clarity: "I appreciate it [the honor], but I must refuse", and "the future of psionics [see definition]

1786-591: The removable device. Hardware- and software-specific information is often stored in configuration files in specified locations such as the registry on Windows ). Software which is not portable in this sense must be modified much more to support the environment on the destination machine. As of 2011 the majority of desktop and laptop computers used microprocessors compatible with the 32- and 64-bit x86 instruction sets. Smaller portable devices use processors with different and incompatible instruction sets, such as ARM . The difference between larger and smaller devices

1833-645: The same family are installed on two computers with processors with similar instruction sets it is often possible to transfer the files implementing program files between them. In the simplest case, the file or files may simply be copied from one machine to the other. However, in many cases, the software is installed on a computer in a way which depends upon its detailed hardware, software, and setup, with device drivers for particular devices, using installed operating system and supporting software components, and using different drives or directories . In some cases, software, usually described as " portable software ",

1880-470: The same word or phrase in the original language to avoid ambiguity. For example: He is trained in the way of the open hand [karate]. Style and usage guides originating in the news industry of the twentieth century , such as the AP Stylebook , recommend against the use of square brackets because "They cannot be transmitted over news wires ." However, this guidance has little relevance outside of

1927-528: The second instance, as one alternative is replacing the other, not adding to it). Parenthetical phrases have been used extensively in informal writing and stream of consciousness literature. Examples include the southern American author William Faulkner (see Absalom, Absalom! and the Quentin section of The Sound and the Fury ) as well as poet E. E. Cummings . Parentheses have historically been used where

HAL/S - Misplaced Pages Continue

1974-425: The section of a dictionary entry which contains the etymology of the word the entry defines. Brackets (called move-left symbols or move right symbols ) are added to the sides of text in proofreading to indicate changes in indentation: Square brackets are used to denote parts of the text that need to be checked when preparing drafts prior to finalizing a document. Square brackets are used in some countries in

2021-403: The species Polyphylla alba while also mentioning that it is in the subgenus Xerasiobia . There is also a convention of citing a subgenus by enclosing it in parentheses after its genus, e.g., Polyphylla ( Xerasiobia ) is a way to refer to the subgenus Xerasiobia within the genus Polyphylla . Parentheses are similarly used to cite a subgenus with the name of a prokaryotic species, although

2068-401: The target system. Some functions can be available on a target system, but exhibit slightly different behavior such as utime() fails under Windows with EACCES, when it is called for a directory). The program code can contain unportable things, like the paths of include files, drive letters, or the backslash. Implementation defined things like byte order and the size of an int can also raise

2115-524: The technological constraints of the industry and era. In linguistics, phonetic transcriptions are generally enclosed within square brackets, whereas phonemic transcriptions typically use paired slashes , according to International Phonetic Alphabet rules. Pipes (| |) are often used to indicate a morphophonemic rather than phonemic representation. Other conventions are double slashes (⫽ ⫽), double pipes (‖ ‖) and curly brackets ({ }). In lexicography , square brackets usually surround

2162-414: The whole line is a comment and should be ignored by the compiler. One particularly interesting feature of HAL/S is that it supports, in addition to a normal single line text format, an optional three-line input format in which three source code lines are used for each statement. In this format, the first and third lines are usable for superscripts (exponents) and subscripts (indices). The multi-line format

2209-458: Was designed to permit writing of HAL/S code that is similar to mathematical notation . As an example, the statement x = a 2 + b i 2 {\displaystyle x=a^{2}+b_{i}^{2}} could be written in single-line format as: Exponentiation is denoted by two asterisks , as in PL/I and Fortran . The subscript i {\displaystyle i}

#135864