Jumplang
Jumplang is a brainfuck-derived esolang by User:PythonshellDebugwindow designed to be easier to implement in another esolang than normal brainfuck.
Commands
A list of commands and what they do in Jumplang are listed here. To see the differences between brainfuck and Jumplang see “Differences from brainfuck”.
Jumplang Command | Description |
---|---|
+ | Increment the current cell by 1 |
- | Decrement the current cell by 1 |
> | Increment the cell pointer |
< | Decrement the cell pointer |
, | Input an ASCII character to the current cell |
. | Output the current cell as an ASCII character |
^ | Increment the current cell by 2 |
v | Decrement the current cell by 2 |
? | Skips the next command if the current cell is 0 |
! | Performs an absolute jump to the 0-based Nth character in the source, where N is the cell pointer + 1th cell (jumping negative or out of bounds halts the program) |
All others are nops.
Differences from brainfuck
Jumplang has most of the same commands as brainfuck, but it adds two new commands: ^
, which increments the current cell twice, and v
, which decrements the current cell twice. While it removes the looping commands, it adds the ?
conditional skip command which skips the next command if the current cell is zero and the !
command, which jumps to the 0-based Nth command where N is the cell pointer + 1th cell (jumping <0 or out-of-bounds = halt). This requires interpreters to use at least right-unbounded integers for the cells.
Turing-completeness
Turing-complete by translation from brainfuck with zero loops (loop on 0 instead of nonzero). See talk page for details.
Minimization
See Jumpmin.
Examples
Cat
,?.?!>-<!