Collabi

From Esolang
Jump to navigation Jump to search

Collabi is a collaborative esolang. It was made by User:HammyHammerhead, but it's ownership was moved to User:Esolangist, because he is HammyHammerhead's new account.

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. Esolangist's Mini Rule: use ~~~~
  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

EVAL text | Evaluate text in the Python. | User:PrySigneToFry

SOURCE | Returns the source of code. That is work like sys.argV[0] in Python. | User:PrySigneToFry

OUTPUT x | Output the value of x. | User:PrySigneToFry

™ | Truth machine. | Esolangist (talk) 18:15, 30 October 2025 (UTC)


Examples

Hello World

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

Alternated

This program is designed by PrySigneToFry.

OUTPUT "Hello, world!"

Truth-machine

By User:Qawtykit

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

Alternated

By User:Esolangist. This has a bit of Branflakes mixed in :)

PUT[OUTPUT 1]OUTPUT 0

warning: this isn't a true truth machine because if you input 2 you get infinite 1s. 9? nope, ones. 97,104? ONES. the only thing that outputs 0 is 0 and everything else outputs 1 infinitely.

DOUBLE alternated

Also by User:Esolangist.

Quine

By User:PkmnQ

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