Dimensional

Dimensional is an esoteric programming language created by User:NutronStar45, where you can have infinite dimensions of infinite dimensions of infinite dimensions of infinite dimensions of ... of infinite dimensions of bytes.
== Structure ==
* There are infinite pointers, which in default all points to 0 in all axes
* ...
* A 4-slot has a 4-pointer
* The 4-pointer is pointing at a 3-slot
* A 3-slot has a 3-pointer
* The 3-pointer is pointing at a 2-slot
* A 2-slot has a 2-pointer
* The 2-pointer is pointing at a 1-slot
* The 1-slot contains a byte
== Terminology ==
=== n-slot ===
For n > 1, an n-slot is an infinite-dimensional space with each slot containing an n-pointer.
=== n-pointer ===
For n > 1, an n-slot is an infinite-dimensional pointer with each slot containing an (n-1)-slot.
=== 1-slot ===
A 1-slot contains an unsigned byte.
=== Pointer axis ===
The operations are done in (pointer axis)-pointer/-slot.
=== Value ===
The value of the 1-slot being pointed at.
== Syntax ==
Negative dimensions are prefixed with a tilde (~) instead of a hyphen (-).
In comment mode, all characters will be ignored.
There 20 instructions in Dimensional:
Syntax 	Action
>DIMENSION	Increases the <pointer axis>-pointer's coordinate on the DIMENSION axis by 1.
<DIMENSION	Decreases the <pointer axis>-pointer's coordinate on the DIMENSION axis by 1.
> 	Increases the <pointer axis>-pointer's coordinate on <value> axis by 1.
< 	Decreases the <pointer axis>-pointer's coordinate on <value> axis by 1.
+ 	Increases the value by 1.
- 	Decreases the value by 1.
:CHAR 	Sets the value to the equivalent ASCII code.
=HEX 	Sets the value to the specified 2-digit hexadecimal number, case-insensitive.
. 	Prints the pointer value in ASCII.
, 	Accepts a character between \x00 and \xff and sets the value to that character in ASCII.
d 	Accepts a number written in decimal and set the value to that number.
x 	Accepts a number written in hexadecimal and set the value to that number.
[ 	NOP if the value isn't 0, or skips past the matching ] otherwise.
] 	Jumps back to the matching [.
{DIMENSION 	NOP if the <pointer axis>-pointer's coordinate on the DIMENSION axis isn't 0, or skips past the matching } otherwise.
} 	Jumps back to the matching {.
?DIMENSION 	Sets the value to the remainder of the <pointer axis>-pointer's coordinate on the DIMENSION axis divided by 256.
!DIMENSION 	Sets the <pointer axis>-pointer's coordinate on the DIMENSION axis to 0.
$AXIS 	Sets the pointer axis to AXIS.
* 	Toggles comment mode.
== Implementations ==
A C++ interpreter of version 1.0 by User:Bangyen.
== Changelog ==
=== 3.0 ===
* Removed "meta"
* Added infinite infinite dimensions
* Removed the board
* Removed the metapointer
* Changed the pointer to n-pointers
* Changed the worlds to n-slots
* Renamed pointer value to value
* The suffix of negative dimensions is now ~ instead of _
* Removed the m command
* Added the $AXIS command
* Added the d command
* Added the x command
=== 2.0 ===
* Added the concept of "meta"
* Added the metapointer
* Added the new board and changed the original board to worlds
* Added notation
* Added meta/non-meta state
* Added negative dimensions
* Added the m instruction
Category:Joke languages Category:2022 Category:Cell-based Category:Multi-dimensional languages Category:Unimplemented Category:Low-level Category:Unknown computational class