BlooP and FlooP

BlooP and FlooP (Bounded loop and Free loop) are simple programming languages designed by Douglas Hofstadter to illustrate a point in his book Gödel, Escher, Bach.

[1] BlooP is a Turing-incomplete programming language whose main control flow structure is a bounded loop (i.e. recursion is not permitted[citation needed]).

[2] FlooP is identical to BlooP except that it supports unbounded loops; it is a Turing-complete language and can express all computable functions.

Borrowing from standard terminology in mathematical logic,[3][4] Hofstadter calls FlooP's unbounded loops MU-loops.

BlooP does not permit recursion, unrestricted jumps, or anything else that would have the same effect as the unbounded loops of FlooP.