Skive
Jump to navigation
Jump to search
Template:Infobox programming language
Skive is a 2D memory grid esolang because Brainfuck was “too flat.” It uses an infinite 2D grid of 8-bit cells, labels, teleportation, snapshots, vectors, and macros that can spiral out of control.
Core Ideas
- Infinite 2D memory grid of unsigned 8-bit cells (0–255, wraps around).
- Pointer starts at (0,0), you move it around and mess with cells.
- Entire rows and columns can be incremented.
- Labels let you teleport anywhere (absolute or relative).
- Macros can recursively expand (up to 50 passes before implosion).
- Snapshots and vectors exist because… why not.
Commands
Pointer & cell:
> move right < move left ^ move up v move down + increment current cell - decrement current cell | increment entire column _ increment entire row ~ set current cell to random 0-255
Loops:
[ while current cell != 0 ] end loop
Input / Output:
. print current cell as ASCII ?(?) input into current cell ?? dump input buffer into cells (moves pointer each byte)
Labels & Teleportation:
label{name} mark current cell with a label \tp{name} teleport to label \tp(x,y) teleport relative by (x,y)
Extended commands:
\clone{name} copy current cell into label \swap{name} swap value with label \save{name} snapshot the entire tape \restore{name} restore snapshot \fill{src,n1,n2} fill rectangle with value from src \math{name,op,val} math on a labeled cell (+,-,*,/) \mod{name,val} apply modulus \vset{name} create a vector \pb(vec){cell} push cell's value into a vector
Macros:
(name)={body} define macro expands wherever <name> appears (max 50 passes or the interpreter screams)
Comments:
```like this```
Built-in guide:
!guide! prints a full cheat-sheet
Example
Print `HI` and cry:
++++++++++ label{H} . ++ label{I} .
Interpreter
A reference C++ interpreter exists:
Run with:
./skive program.txt
External Resources
- Brainfuck – obvious inspiration
- My Github: https://github.com/Quantum-Kayak/Skive