Oozlybub and Murphy

From Esolang
Jump to navigation Jump to search
This article is not detailed enough and needs to be expanded. Please help us by adding some more information.

Oozlybub and Murphy is an esoteric programming language designed by Chris Pressey. The first version was released on Dec 1, 2010, but the design incorporates several ideas from earlier years, dating back to at least 2006. These ideas include multiple interleaved parse streams, infinitely-long variable names, gratuitously strong typing, and only-conjectural Turing completeness.

Overview of Program Structure

An Oozlybub and Murphy program is composed of a number of program elements called dynasts. Each dynast contains an expression, which is evaluated when the dynast is executed, and is labelled with a positive integer. Execution begins at the dynast with the smallest label, n. When dynast n has finished executing, dynast n+1 is executed, and so forth, until no dynast with such a label exists, at which point the program halts. (The program can halt under other conditions too.)

Once executed, a dynast can never be executed again; thus, control flow is monotonic, in a manner similar to that of SMITH. Although only a finite number of dynasts may be specified in the program text, new dynasts can be created dynamically by the program, as a side-effect of evaluating certain expressions. However, there are restrictions on the labels given to these dynamically created dynasts: the labels must be either odd integers (in the create/countably/many/dynasts expression), or the sum of two prime numbers (in the copy/dynast expression).

Computational Class

Although no proof has been constructed, Oozlybub and Murphy is thought to be Turing-complete if and only if Goldbach's Conjecture is true. If Goldbach's Conjecture is not true, it is not possible for an Oozlybub and Murphy program to enter an infinite loop, because there will be some even-numbered dynast that cannot be created because its label is not the sum of two primes. But if Goldbach's Conjecture is true, it is possible for an Oozlybub and Murphy program to loop an unlimited number of times, and the language's set of built-in functions is thought to be powerful enough that each time through the loop it can simulate one state transition of some fixed, arbitrary Turing machine.

External resources