Collabi

From Esolang
Jump to navigation Jump to search

Collabi is a collaborative esolang. It was made by User:HammyHammerhead.

Base commands

The base commands are the same as the commands in Brainfuck.

Rules for adding things

  1. Don't modify other people's commands. (Typo fixes are OK.)
  2. Don't make a command dedicated to running a popular problem.
  3. Don't make commands that run the rest of the code in a completely different programming language.
  4. SIGN YOUR NAME.
  5. You are allowed to add a stack if you want.

this is future user:hammerheadhammy. the stack has been added.

Format

<The command syntax> | <What the command does> | <Your username>

Added commands

° <text> | Just a comment. | User:HammyHammerhead

(x) | Push string x to the stack | User:Qawtykit

CONC | concatenate the top two strings on the stack | User:Qawtykit

COPY n; | Set the value at the top of the stack to the nth value in the stack (top of stack is 1st) | User:Qawtykit

JUP m:n; | Jump to the start of line n if the top of the stack is m characters long. | User:Qawtykit

PRINT | Pops the top of the stack and prints it. | User:HammyHammerhead

DUP | Duplicates top of stack. | User:HammyHammerhead

CONV | Converts a number on the top of the stack to a ASCII character. If something that isn't a number is on top of the stack (usually a ASCII character), it will convert back. | User:HammyHammerhead

PREV | Jump to the previous PREV command, or to the beginning of the program if there is none before this one. | User:PkmnQ

PUT | Get a number from input and put it in the current cell | User:Qawtykit

CLL | Push the current cell's value in unary (asterisks) to the top of the stack | User:Qawtykit

{ | Push the opening parenthesis character to the top of the stack | User:PkmnQ

} | Push the closing parenthesis character to the top of the stack | User:PkmnQ

CHARCLL | Push the ASCII character corresponding to the current cell's value to the top of the stack | User:PkmnQ

STB | Stands for STart From Beginning. Restarts the program over to the first line. | User:HammyHammerhead

IGNORE [Newline] {code} [Newline] EXIT | Ignores whatever is inside {code}. Useful for multi-line comments. | User:HammyHammerhead

🎲 | Pops the top two values on the stack. We will call them X and Y. Generates a random number between X and Y and pushes it onto the stack. | User:HammyHammerhead

DECL (variable name) (value) | Declares a variable called (variable name) and sets it to (value). User:HammyHammerhead

SET (variable name) (value) | Sets (variable name) to (value). | User:HammyHammerhead

∞ | Returns infinity. | User:HammyHammerhead

REP (repval) {code} EXIT | Repeats {code} (repval) times. | User:HammyHammerhead

NOP | Does nothing. | User:HammyHammerhead

Examples

Hello World

User:HammyHammerhead was here. I made this!
(Hello, World!) PRINT

Truth-machine

By User:Qawtykit

PUT CLL JUP 1:2; (0) PRINT JUP 0:3;
(1) PRINT JUP 1:2;

Quine

By User:PkmnQ

( { PRINT DUP PRINT } PRINT PRINT ) { PRINT DUP PRINT } PRINT PRINT