The contents of this article are owned by AgentMuffin (tbc).
Fungsicle (pronounced /'fundʒ·sɪ·kəl/) is the proprietary programming language used by Nintendo to program the Nintendo Switch. It is a multi-dimensional fungeoidal self-rewriting language that uses Polish notation.


Like other funges, Fungsicle makes use of a command pointer, which starts at a set of coordinates in a text-based program and moves through the code in a direction, initially right, that can be altered, executing commands as it goes. Whitespace is not meant to count as a command, but is not truly nop as it will play a tone on the Switch's integrated sound chip for the next fifteen frames if the command pointer is evaluating it. If the command pointer tries to move past the edge of a program, including, for example, trying to move from the end of a line up to a shorter line, the program will crash; the Switch system is set to shut off in this situation. Fungsicle also includes a multitude of features that are not traditionally associated with funges nor with the original Befunge.

Values in Fungsicle are 62-bit and case-sensitive, using numbers 0–8, a–z, A–Z, and 9, respectively. Values are casted automatically.


Starting location for command pointer. The command pointer will start at the closest starting location to the upper-left-hand corner of the program. If there are no starting locations, whether by default or during runtime as a result of starting-location bombing, the command pointer starts in the upper-left-hand corner. Using a starting location is, however, considered good form.
@Returns value of last computation, auto-instantiated as 0. Usable as a value argument. When the program ends, this value is printed to the console and returned to any program that has called the Fungsicle file.
😂Stops the program, and blocks file author from all social media. If left out, the program will not compile.
!Pauses script for one frame.
_Returns zero-indexed horizontal location of command pointer.
=Returns one-indexed horizontal location of command pointer.
Returns one-indexed vertical location of command pointer.
>Sends command pointer right.
<Sends command pointer left.
^Sends command pointer up.
ˇSends command pointer down.
Prints following value to the console.
𝒩Prints a newline to the console.
`Stores last computed value to a variable.
~Returns value of variable.
Returns conjunction of two following values.
¦Returns disjunction of two following values.
Returns exclusive disjunction of two following values.
📝Returns bitwise conjunction of two following values.
¬Returns negation of following value.
Returns simple triconditional exclusive contrapositive nonintuitive nonimplication, a thing I just made up, of two following values. "Probably" crashes the system if executed, according to translated documentation.
+Returns sum of two following values.
-Returns difference of two following values.
*Returns product of two following values.
Prints the string "XD" to the console, with a trailing newline.
/Returns quotient of two following values.
%Returns modulo of two following values, except in "extreme" circumstances.
|Sends command pointer right if the last computed value is 2, or left otherwise.
\Returns following command cast to a character.
&Concatenates the following two values smartly.
🎵Plays a low tone.
🎶Plays a medium tone.
🎼Plays a high tone.
🎹Plays two following tones concurrently.
🎺Plays the "best" tone.
{Opening trampoline. Moves command pointer after nearest following closing trampoline.
}Closing trampoline. Moves command pointer after nearest following opening trampoline.
💣Replaces nearest starting location to the upper-left-hand corner of the program with whitespace.
Moves command pointer to closest starting location to the upper-left-hand corner of the program.
Prints to the console the source code of the Fungsicle file being run. The function does not count as a computation of values, despite its purpose. May bug in beta builds of the system when several programs are being run concurrently.
Functional nop.


The following is a sample Hello, world! program, one of many possible using Fungsicle. It returns the character 'H', then repeatedly concatenates the rest of the characters to the value of the last operation, before stopping the program and blocking the file author from all social media.
&&@  &
@@ ^@<
This is the simplest possible quine in Fungsicle that will compile.
An infinite loop:
ˇ <
> ^
A single-line infinite loop:
A script that prints all single-digit numeric values to the console in sequence, with a pause between each: