HAL/S Syntax
en.wikipedia.org
en.wikipedia.org
> E 2 2
> M X = A + B
> S I
Being able to write expressions that span multiple lines like that is really quite cool.
Hal Laning was also personally responsible for Apollo 11 not crashing and exploding when operator error caused overloading of the Apollo Guidance Computer, resulting in system crashes several times during the landing. It reset, each time, and picked up the high-priority processes where they left off.
Laning was every year passed over for the Turing Award he so richly deserved.
(Its output was subroutine calls, but that is a matter for optimization. When your compiler has to fit in 1K machine words, you make compromises.)
It is a pity that when people started to build translators they didn't use that name but instead kept the now obsolete term "compiler".
Words don't have a "true meaning" independent of how they are used.
The rendezvous radar was intended to be enabled during landing to be prepared for an abort. It only caused problems due to a hardware bug in the interface between the radar and the LGC which caused something similar to an interrupt storm. Grumman and MIT had both discovered this bug prior to Apollo 11 but decided not to fix it.
source: various publications by don eyles
But regardless I agree Laning deserves more recognition for his numerous contributions.
Charlie Muntz was certainly deeply involved, as was Don, in ensuring and verifying that failures would be recoverable. I think Muntz coded the interpreter much of the landing was coded in; Laning, the priority-based executive monitor Charlie and Don coded to.
I am always amazed how, given such a slow base machine, it was so conventional to run an interpreter and then write actual programs to the interpreter. Apparently the space needed for the interpreter was more than made up by the more-compact code used to drive it, and the slowdown was tolerable.
y := x²
in regular code. Is this the case in any modern language?https://web.archive.org/web/20160304052722/https://java.net/...