Collab

From Esolang
Jump to navigation Jump to search

Collab is a collaborative esolang.

Do not modify other's commands!

Commands

Command Description
# Start the program
$ End the program
: Push 0 to the front of the Deque
; Inject 0 to the back of the deque
+ Increment the value at the front of the deque, works like brainfuck + if data is a tape
- Decrement the value at the front of the deque, works like brainfuck - if data is a tape
* Move the value at the bottom of the deque to the top, if the deque is a tape, move the tape pointer right
"" Push the literal string within the quotation marks to the deque
k Turn the deque into a tape, with cells 0 - n initialized to the values in the deque from back to front. The pointer is initialized to the location of the front of the deque
l Turn the tape into a deque
q Copy the next two characters and append them to the end of the code. The characters are still run after the q command runs (for example, q+k appends +k to the code, increments tbe front of the deque, and turns the deque into a tape).
< Move the tape pointer left. If the data is a deque, Move the value at the top of the deque to the bottom
o Output the string at the top of the deque. If data is a tape, output the current cell's value as a number
s Run the string at the top of the deque as code
? pop the top value of the deque, and skip that many commands if the second from top (which is now the top) of the deque or the current cell is not zero
[ Go to the command before the matching ]
] Go to the command after the matching [
i Take a number from user input and push it to the deque
n NOP

Examples

Hello World

#"Hello, World!"o

Truth-machine

#i[:kol$:+:++?][:+kol]