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