Skip to content
Taser edited this page May 10, 2023 · 4 revisions

EsoFur is a joke programming language created by User:TaserTheFox, partially inspired by FurASM

Table of Contents

Commands

Parameters in [brackets] are required, and (parenthesis) are optional.

Commands
Command What It Does
OwO What's This? Start Of Program
QwQ End Of Program
Notices Your [Str] Declares a Variable
And Leashes It Sets the variable to be local
[Var1] Pounces On [Var2] Sets the value of [Var2] to [Var1]
[Var] Gets Canceled Clears [Var]
\*Starts Roleplaying* Start of loop
\*Stops Roleplaying Because Of [Var]* End of loop; Exits if [Var] is less than 0
[Cond] Nuzzles [Var] If [Cond] doesn't returns 0, Jump to Marking [Var] if its a string, Jump [Var] lines down if its an int
Marks [Str] Leaves a Marking with label [Str]
Howl [Var] Prints [Var]
Awoo [Var1] (At [Var2]) Prints char if [Var] is an int; Sends the result to [Var2] instead of printing
Muzzles Starts a comment line
Maws Start of multi-line comment
Paws End of multi-line comment
[Var] Suits Up Changes [Var] to a list
[Var] Starts A Furpile Changes [Var] to a Furpile
Sew [Var] Onto [List] Appends [Var] to [List]
[Var] Joins The Pile At [Furpile] Appends [Var] to [Furpile]
Look! [*Var] Joined The [Var] Concatenates [*Var] to [Var]
Boop The User For [Var] Waits for console input and sets it to [Var]
[Var1] Inflates By [Var2] Add [Var2] to [Var1]
[Var1] Pays [Var2] Subtract [Var2] from [Var1]
[Var1] Breeds By [Var2] Multiples [Var1] by [Var2]
[Var1] Baps [Var2] Divides [Var2] by [Var1]
[Var1] Deflates By [Var2] Modulus [Var1] by [Var2]
[Var1] Gets Vored By [Var2] Sets [Var1] to log base [Var2] of [Var1]
[Var1] Hyper-Inflates By [Var2] Raises [Var1] to the power of [Var2]
[Var] Transforms Into [Type] Changes the type of [Var] to [Type]
[List]'s Raffle Winner Is [Var] Pops the last element in [List] and assigns it to [Var]
Is [Var] In [Furpile]? Returns 0 if [Var] is in [Furpile]
Escort [Var1] To [Var2] From [List/Furpile] Removes [{Furpile] from [List/Furpile] and assigns it to [Var2]
Measure [Var1]'s Tail Length To [Var2] Assigns the length of [Var1] to [Var2]

Syntax

EsoFur syntax requires that every keyword have its first letter be capitalized.
To declare a string, use "Double Quotes", single quotes are invalid to create strings.

Errors

Errors
Error Console Log
No start of program (empty)
No end of program UNENDING PAIN AND SUFFERING
Undeclared variable [Var] WASN'T NOTICED
Local variable called out of scope LEASH TOO SHORT
Jump to unknown marking UNKNOWN MARKING: [Marking]
Invalid Casting TRANSFORMATION FAILED
No proper syntax SYNTAX ERROR
Start roleplay without end WHEN DOES IT EVER END
End roleplay without start WHEN DID IT EVER START
Popping of empty/non-list [Var] DIDN'T HAVE A RAFFLE
Adding duplicates to a Furpile WHOS THE FAKE ONE?
Unmatching Maws/Paws WHICH IS BETTER? PAWS OR MAWS?

Examples

99 Bottles Of Beer in EsoFur.

 OwO What's This?
 Notices Your Beer
 99 Pounces On Beer
 Notices Your Text1
 Notices Your Text2
 Notices Your Text3
 Notices Your Temp
 " Bottles Of Beer On The Wall, " Pounces On Text1
 " Bottles Of Beer. Take One Down, Pass It Around, " Pounces On Text2
 " Bottles Of Beer On The Wall." Pounces On Text3
 *Starts Roleplaying*
 Look! Beer And Text1 And Beer And Text2 Joined The Temp
 Howl Temp
 Beer Pays 1
 Temp Gets Canceled
 Look! Beer And Text3 Joins The Temp
 Howl Temp
 Temp Gets Canceled
 *Stops Roleplaying Because Of Beer*
 QwQ

Truth Machine

 OwO What's This?
 Notices Your Input
 Boop The User For Input
 Input Nuzzles "1"
 Howl 0
 Nuzzles 5
 Marks "1"
 *Starts Roleplaying*
 Howl 1
 *Stops Roleplaying Because Of Input*
 QwQ

Fibb Sequence to User input

 OwO What's This?
 Notices Your Prev1
 Notices Your Prev2
 Notices Your Input
 Notices Your Curr
 Boop The User For Input
 0 Pounces On Prev1
 1 Pounces On Prev2
 0 Pounces On Curr
 *Starts Roleplaying*
 Howl Curr
 Curr Inflates By Prev2
 Prev1 Pounces On Prev2
 Curr Pounces On Prev1
 Input Pays 1
 *Stops Roleplaying Because Of Input*
 QwQ

Notes

Furpiles is a lists that are Unordered, Unchangeable, and No duplicates

Labels are referred to as Markings, sometimes as Marks

Clone this wiki locally