Dimensifuck

From Esolang
Jump to: navigation, search

Dimensifuck is an esoteric programming language designed by Pikhq and avpx in 2006 that is based upon Brainfuck. Unlike "normal" programming languages, which can only flow in one dimension, going forward or back, Dimensifuck can flow in an infinite number of directions.

Opcodes

+ Same as in Brainfuck
- Same as in Brainfuck
> Same as in Brainfuck
< Same as in Brainfuck
. Same as in Brainfuck
, Same as in Brainfuck
= Increases dimension to be operated on.
_ Decreases dimension to be operated on.
^ Starts moving positively on the dimension to be operated on if and only if the current cell is nonzero.
v Starts moving negatively on the dimension to be operated on if and only if the current cell is nonzero.

Addressing

In Dimensifuck, the various dimensions of the code are expressed in a normal ASCII file by appending each line with a dimension address. One puts down the various addresses that the code is in for each dimension, each seperated by a period. First described is the y dimension, z dimension, and then all the dimensions above three.

An example:

0.0___
0.1___
0.2___
1.0___
1.1___
1.2___
2.0___
2.1___
2.2___

The above would represent a 3x3x3 cube with the addressing scheme used in Dimensifuck.

Examples

cat

0+=^  =vCat.
1  _   _
2  ^,.=vX

Infinite adder

0+^+v

External resources