OSColang

From Esolang
Jump to navigation Jump to search

OSColang (pronounced oh-es-ko-lang) is an esolang made by User:Anywaydun meant to commemorate 16 years of Battle of Dream Island, and the object show community as a whole. It was made to show the creations of the wider OSC and represent them somewhere (though in practice that isn't true), and was also mainly made because the creator couldn't find any object show-inspired esolangs that were already made.

Instructions

OSColang is one-indexed. Programs must begin with "BFDI 1a: Take the Plunge", and end with "BFB 30: Chapter Complete".

All lines in OSColang code must follow the following format:

Acronym Number: Title

i.e. the regex (.*) (.*): (.*)

This is a list of all instructions in OSColang.

When Number is: Instruction
1: Variable declaration Declares a new variable, argument 1 (Acronym).
2: Append Places argument 2 (Title*) at the end of a variable argument 1 (Acronym).
3: Attribute of line Returns an attribute of the 2nd argument (Line), based on the 1st argument (Number). If the 1st argument is 1, it returns the Acronym. If the 1st argument is 2, it returns the Number. If the 1st argument is 3, it returns the Title.
4: Return word at index Returns the word of argument 2 (Title*) at the index argument 1 (Number).
5: Return character at index Returns the character of argument 2 (Title*) at the index argument 1 (Number).
6: Print Prints the contents of the variable argument 1 (Acronym).
7: Jump if not 0 Jumps the program pointer to line argument 2 (Number) if a variable argument 1 (Acronym) is not zero. Otherwise, do not jump.
8: Request input Requests the input from the user, returning the input.
9: Increment by number Increments a variable argument 1 (Acronym) by a number argument 2 (Number, * only for NaN).
10: Decrement by number Decrements a variable argument 1 (Acronym) by a number argument 2 (Number, * only for NaN).
11: Clear variable Clears a variable argument 1 (Acronym).
12: Return variable Returns the value of a variable argument 1 (Acronym).
13: To ASCII Returns the ASCII value of the first character in a variable argument 1 (Acronym).
14: From ASCII Returns the ASCII character of the number in a variable argument 1 (Acronym).
15: Character of variable at index
Returns the character of the variable argument 1 (Acronym) at index variable argument 2 (Acronym).
Not a number, or not between 1 and 9 inclusive except type Number arguments: Previous Takes the result of the previous operation. Used as an argument in Number (and inputs marked *) inputs.

Though not required, programs are usually made under the restrictions that:

  1. All lines must be real object show episodes, and
  2. Lines must be unique

If an OSColang program is not made under these restrictions, it is a impure program. Pure programs follow these restrictions.

Examples

Hello, World!

BFDI 1a: Take the Plunge 
II 1: The Crappy Cliff 
BFDI:TPOT 1: You Know Those Buttons Don't Do Anything, Right? 
BFB 3: Why Would You Do This on a Swingset 
BFDIE 3: Everyone’s Enemies 
BFAM 4: Hello Again... 
BFDI 4: Sweet Tooth 
BFB 1: Getting Teardrop to Talk 
BFDI 1b: Take the Plunge 
AIB 2: Smarter & Boulder 
BFDI:TPOT 2: The Worst Day of Black Hole's Life 
TAW 1a: Who, Me? 
BFDIA 3: Insectophobe's Nightmare 3 
BFDI 3: Are You Smarter Than a Snowball? 
BFDIA 1: Yeah, Who? I Wanna Know 
BFDI 5: Bridge Crossing 
BFB 5: Fortunate Ben 
BFDIA 5a: Get in the Van 
BFDI 2: Barriers and Pitfalls 
BFDI:TPOT 3: Getting Puffball To Think About Rollercoasters 
BFDIA 5c: No More Snow! 
II 3: The Arena of Death 
II2 3: Tri Your Best 
BFDI 12: A Leg Up in the Race 
AIB 5: Sun Blocked 
II 2: A Lemony Lesson 
BFDIA 5d: It's a Monster 
II2 2: Marsh on Mars 
BFDI:TPOT 4: Gardening Zero 
BFDIA 5e: The Long-lost Yoyle City 
III 3: Snapshot Showdown 
IIIV 3: Run the Risk! 
TDOS:END 2: All the Time in the World 
BFB 4: Today's Very Special Episode 
BFDIA 6: Well Rested 
TAW 1b: Yes, You! 
III 2: The Shame of the Name 
BFDI:TPOT 5: Fishes and Dishes 
BFDI 19: Rescission 
TDOS 3: Tower of Evil 
AIB 3: Get A Grip 
BFDI 10: Crybaby! 
II 5: The Stacker 
BFDIA 8: Meaty 
BFDI 20: Gardening Hero 
IIIV 2: Cob Mentality 
BFDI:TPOT 6: The Great Goikian Bake-Off 
BFDI 21: The Glistening 
BFB 6: Four Goes Too Far 
BFDI:TPOT 7: The Seven Wonders of Goiky 
BFB 30: Chapter Complete 

truth-machine

BFDI 1a: Take the Plunge 
BFB 1: Getting Teardrop to Talk 
BFDIA 1: Yeah, Who? I Wanna Know 
BFB 8: Questions Answered 
BFB 2: Lick Your Way to Freedom 
BFDIA 2: Get Digging 
BFDIA 5a: Get in the Van 
BFB 6: Four Goes Too Far 
BFDIA 3: Insectophobe's Nightmare 3 
BFB 7: The Liar Ball You Don't Want 
BFDIA 4: Zeeky Boogy Doog 
BFDIA 8: Meaty 
BFB 30: Chapter Complete 

99 bottles of beer (impure)

BFDI 1a: Take the Plunge 
? 1: ? 
WALL, ?: ? 
? 2: ? 
WALL, ?: ? 
? 1:  bottles of beer on the wall, 
? 1: ? 
BEER. ?: ? 
? 2: ? 
BEER. ?: ? 
? 1:  bottles of beer. 
? 1: ? 
AROUND ?: ? 
? 2: ? 
AROUND ?: ? 
? 1: Take one down, pass it around, 
? 1: ? 
WALL. ?: ? 
? 2: ? 
WALL. ?: ? 
? 1:  bottles of beer on the wall. 
? 1: ? 
NEW ?: ? 
? 2: ? 
NEW ?: ? 
? 1:   
? 1: ? 
BEERS ?: ? 
? 9: ? 
BEERS ?: ? 
? 99: ? 
? 1: ? 
TEMP ?: ? 
? 11: # 
TEMP ?: ? 
? 12: ? 
BEERS ?: ? 
? 2: ? 
TEMP ?: ? 
? p: ? 
? 12: ? 
WALL, ?: ! 
? 2: ? 
TEMP ?: ? 
? p: ? 
? 6: ? 
TEMP ?: ? 
? 11: # 
TEMP ?: ? 
? 12: ? 
BEERS ?: ? 
? 2: ? 
TEMP ?: ? 
? p: ? 
? 12: ? 
BEER. ?: ! 
? 2: ? 
TEMP ?: ? 
? p: ? 
? 6: ? 
TEMP ?: ? 
? 6: ? 
AROUND ?: ? 
? 10: ? 
BEERS ?: ? 
? 1: ? 
? 11: # 
TEMP ?: ? 
? 12: ? 
BEERS ?: ? 
? 2: ? 
TEMP ?: ? 
? p: ? 
? 12: ? 
WALL. ?: ! 
? 2: ? 
TEMP ?: ? 
? p: ? 
? 6: ? 
TEMP ?: ? 
? 6: ? 
NEW ?: ? 
? 7: ? 
BEERS ?: ? 
? 34: ? 
BFB 30: Chapter Complete 

Cat program

BFDI 1a: Take the Plunge 
BFDIA 1: Yeah, Who? I Wanna Know 
BFB 1: Getting Teardrop to Talk 
BFDIA 8: Meaty 
BFDIA 2: Get Digging 
BFB 2: Lick Your Way to Freedom 
BFDIA 5a: Get in the Van 
BFDIA 6: Well Rested 
BFB 3: Why Would You Do This on a Swingset 
BFB 30: Chapter Complete 

XKCD Random Number

BFDI 1a: Take the Plunge 
BFDI:TPOT 1: You Know Those Buttons Don't Do Anything, Right? 
ONE 1: Freefall 
BFDI:TPOT 9: Outbreak At Stake 
ONE 2: Just Tripped 
BFDI:TPOT 4: Gardening Zero 
BFDI:TPOT 6: The Great Goikian Bake-Off 
ONE 3: Screwball 
BFB 30: Chapter Complete

FizzBuzz (fake, impure)

BFDI 1a: Take the Plunge 
? 1: ? 
F ?: ? 
? 2: ? 
F ?: ? 
? 1: Fizz 
? 1: ? 
B ?: ? 
? 2: ? 
B ?: ? 
? 1: Buzz 
? 1: ? 
FB ?: ? 
? 2: ? 
FB ?: ? 
? 1: FizzBuzz 
? 1: ? 
NUM ?: ? 
? 9: # 
NUM ?: ? 
? 1: ? 
? 6: ? 
NUM ?: ? 
? 9: # 
NUM ?: ? 
? 1: ? 
? 6: ? 
NUM ?: ? 
? 9: # 
NUM ?: ? 
? 1: ? 
? 6: ? 
F ?: ? 
? 9: # 
NUM ?: ? 
? 1: ? 
? 6: ? 
NUM ?: ? 
? 9: # 
NUM ?: ? 
? 1: ? 
? 6: ? 
B ?: ? 
? 9: # 
NUM ?: ? 
? 1: ? 
? 6: ? 
F ?: ? 
? 9: # 
NUM ?: ? 
? 1: ? 
? 6: ? 
NUM ?: ? 
? 9: # 
NUM ?: ? 
? 1: ? 
? 6: ? 
NUM ?: ? 
? 9: # 
NUM ?: ? 
? 1: ? 
? 6: ? 
F ?: ? 
? 9: # 
NUM ?: ? 
? 1: ? 
? 6: ? 
B ?: ? 
? 9: # 
NUM ?: ? 
? 1: ? 
? 6: ? 
NUM ?: ? 
? 9: # 
NUM ?: ? 
? 1: ? 
? 6: ? 
F ?: ? 
? 9: # 
NUM ?: ? 
? 1: ? 
? 6: ? 
NUM ?: ? 
? 9: # 
NUM ?: ? 
? 1: ? 
? 6: ? 
NUM ?: ? 
? 9: # 
NUM ?: ? 
? 1: ? 
? 6: ? 
FB ?: ? 
? 7: ? 
NUM ?: ? 
? 19: ? 
BFB 30: Chapter Complete  

External resources