Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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)

[2] https://en.wikipedia.org/wiki/Church_encoding#Derivation_of_...



You are basically describing LISP...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: