Inuck
Inuck is a brainfuck derivative by VilgotanL which is quite infinite.
The name comes from combining infinite and brainfuck.
Definitions
Origin point / Origin cell - The point/cell where all dimensional components are zero. In 3D this would be (0, 0, 0).
Pointer - A pointer that points to a cell and has a direction towards a dimension. Initially it is located in the origin point, pointing towards dimension 0
Infinite-dimensional tape - A tape, but instead of one dimension, it is an infinite-dimensional space.
- Each infinite-dimensional tape has a pointer, which can be moved forwards or backwards in the dimension the pointer is pointing in.
- The pointer saves for each infinite-dimensional plane, such as when going into cell's tapes as you will se later.
- Dimensions, cell indicies, and cell values are signed and can be negative.
Cell - Holds a signed integer (initially zero), but is actually an infinite-dimensional tape.
- The integer is represented by how many nonzero values are inside that cell's infinite-dimensional tape.
- This goes on to infinite depth, and since each infinite-dimensional tapes has a parent,
- the initial tape also has a parent, which also has a parent, and so on.
- Those parents's origin cells follow the integer representation rule, they are how many nonzero cells are in the origin cell's tape.
Instructions
+ |
Increment the current cell. (in current infinite-dimensional tape) |
- |
Decrement the current cell. (in current infinite-dimensional tape) |
> |
Move the pointer right/forward in the pointed-to/current dimension. (in current infinite-dimensional tape) |
< |
Move the pointer left/backward in the pointed-to/current dimension. (in current infinite-dimensional tape) |
^ |
Increment the dimension pointed to. (dimension 3 becomes dimension 4, etc) (in current infinite-dimensional tape) |
v |
Decrement the dimension pointed to. (in current infinite-dimensional tape) |
; |
Go into the current cell's infinite-dimensional tape. (the current infinite-dimensional tape is now that cell's tape) |
: |
Go out to parent's infinite-dimensional tape. |
[ |
While not zero |
] |
End while |
, |
Input ascii char |
. |
Output ascii char |
Any other instructions are comments, and are ignored.
Examples
Cat program
Basically the same as brainf**k.
Hello World
Basically the same as brainf**k.
An example program
Prints uppercase A.
;+: Now the current cell has integer 1 since tape inside cell has 1 nonzero values >+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+ Now the amount of nonzeroes in the current infinitedimensional tape is 65 : Now we are in the parent tape which now has integer 65 in current cell (origin cell) . Print the current cell as ascii char
Computational class
Inuck is Turing complete since it is backwards-compatible with brainf**k.
Implementations
There are none yet, but it is definitely possible to make one. (if you even understand how the esolang works)