|Computational class||Unknown computational class|
|Reference implementation||See below(PyMuddle)|
Muddle is a programming language which was meantto be stack-based, but ended up tape-based, was meant to interpret in Python 2.7 but ended up interpreting into Python 3, was meant to be Unimplemented, purely conceptual, but ended up being designed while writing a interpreter for it. It was meant to be revealed on IRC, but [User:Singingbanana|The author] started disliking IRC, so it was released directly to the wiki.
Muddle is quite hard to explain. So, let me clear some stuff up: c is the tape, the pointer points to a cell on the tape. Command "*" is followed by a number or string. * puts that number of string into the tape(c). * is a useful command. > decreases the pointer variable. < increases the pointer variable. ! prints the whole tape. ^ prints the cell on the time with index = pointer. ? erases all the tape. If you dont understand the definitions, look at the code of the interpreter. NB: between every command is a space.
* Hello * World! !
It pushes Hello into the tape and then pushes World! into the tape, making the tape look like this: [Hello, World!]. Then ! outputs [Hello, World!]. Pointer Peculiarities:
* hello * world < < ^
First, it pushes hello, then world, increases pointer 2 times(by default pointer = 0). This employs wrap-around, as c is c(Our tape has ended at c). So the output is hello. Warning: No control flow exists in Muddle. No Looping is available. So Truth-machines are impossible.
There is no input, there is no control flow. A truth-machine can not be simulated in it. Looks like it is Turing-incomplete! Note: This language is meant to be Turing-incomplete to study the bounds of computation. A Essay, On Computing bounds of Computation, Using a Example Turing-Incomplete Language(OCBCUETIL) is being written along side Currency exchanges and computation(CEC).