3 ms·
The Wikipedia page on LOOP [1] contains an excellent overview of the very simple language that is the subject of Dennis' thesis, and that turns out to be equiva
by tromp 4y ago
The Wikipedia page on LOOP [1] contains an excellent overview of the very simple language that is the subject of Dennis' thesis, and that turns out to be equivalent in expressive power to primitive recursive functions.
Curiously, one of the instructions in Dennis' original formualtion, namely the assignment X = Y of the value in one register to another, turns out to be redundant, as it it also achieved by
X = 0
LOOP Y
X = X + 1
END
Btw, this example shows the entire repertoire of instructions available in LOOP, namely set to 0, increment, sequential composition, and looping. The method of obtaining a predecessor function
TMP = 0
LOOP X
Y = TMP
TMP = TMP + 1
END
reminds me of a similar solution for the Church numerals in lambda calculus [2].
[1] https://en.wikipedia.org/wiki/LOOP_(programming_language) https://en.wikipedia.org/wiki/LOOP_(programming_language)
[2] https://en.wikipedia.org/wiki/Church_encoding#Derivation_of_predecessor_function https://en.wikipedia.org/wiki/Church_encoding#Derivation_of_...
- anthk 4y agoYou are basically describing LISP...