Blues machine

From Esolang
Jump to navigation Jump to search
Note that blues machine is typically lowercased except, often, at the start of a sentence.

The blues machine is an OISC esolang by User:PythonshellDebugwindow.

Syntax

Each line in a blues machine program is either empty, a comment, or the blues instruction. Comments are denoted by #.

The blues instruction

The semantics of the blues instruction are as follows (using floor division, in such a way that division by 0 yields 0):

++*a; *b *= *c; *d /= *e; if(*f) goto (g ? h : *h);

Its syntax (spaces after commas are optional):

blues a, b, c, d, e, f, g, h

All values are integers, and the memory is initialized to all zeros.

Examples

Infinite loop

blues 0,0,0,0,0,0,0,0

Truth-machine

Replace <input> with your input.

blues <input>,0,0,0,0,1,0,0

Computational class

Blues machine can simulate any Minsky machine, so it is Turing-complete. The inability to subtract is a slight obstacle, but a counter value of x can be encoded as 2x to get around this. See the full conversion here.

External resources