We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

Whizz

From Esolang
Jump to navigation Jump to search
Whizz
Designed by splot.dev (User:Splot-dev)
Appeared in 2026
Computational class Unknown
Reference implementation Whizz Transpiler
File extension(s) .whz

Introduction

Whizz is a variable-based esoteric programming language, likely identifying as a Turing tarpit, though it has significantly more structure than most.

Origins

It was created in the summer of 2026 by User:Splot-dev, with an arbitrary name. It was made to address a problem: prominent esoteric languages lacked sufficient structure to be 'scalable', even if that was not the purpose of esolangs, making programs unwieldy and exhausting to write, often being extremely repetitive with no challenge whatsoever to the programmer.

Implementation

A Python implementation is available (a transpiler, easily accessible as a pip package) here. Read through the README for installation and usage instructions.

Example

This program prints 0 1 2 3 4 5 6 7 8 9 using a loop.

nineToZero {
   [ create variables ]
   counter 10+ [ track state ]
   char 48+ [ print this one ]
   space 32+ [ space char ]
 
   (
     char!+ [ print and increment char ]
     counter-; [ decrement counter and end if zero ]
     space! [ print space ]
   )
}

nineToZero*

It can be minimized: c10+n48+s32+(n!+c-;s!)

Commands

Whizz has many commands that manipulate the variables storing integers. It relies on Unicode mappings for I/O and follows some conventions, esoteric or not. It is completely whitespace-insignificant.

Selecting

Selecting is the first command in Whizz, and is any alphabetical string. It sets the 'current variable' to that string.

Example: var+

Increment/Decrement

A plus or minus sign, this command increments or decrements by 1, based on that aforementioned symbol. It can increment or decrement more, by having a positive integer placed before the symbol, which represents the repetitions of that incrementation or decrementation.

Example: a 23+ or a+

Random

This command, a plain tilde, sets the 'current variable' to an integer between 0 and 1 million.

Example: a~

Function

This command structure encloses other commands, and when called, runs them. It is represented as an alphabetical string followed by two curly brackets, with code within.

Example: a{}

Forever Loop

This command, a set of round brackets, runs the code within indefinitely until broken.

Example: ()

End Loop Conditional

A semicolon, which is this command's entirety, stops a forever loop if the 'current variable' is 0.

Example: (a;)

Function Call

An alphabetical string followed by an asterisk, this command executes the corresponding function to that string.

Example: a{} a*

Print

An exclamation mark, this command prints the 'current variable's Unicode character mapping.

Example: a!

Input

A question mark, this command takes in a character as input and sets the 'current variable' to its integer Unicode mapping.

Example: a?

Comment

A comment is just anything that is enclosed in hard brackets, which is ignored, and is intended as a non-affecting, non-obstructive note for the programmer or reader. As a convention, there should be a space after the first bracket, and before the second bracket, for readability.

Example: [ hello my friend ]

External Resources

Whizz Implementation

Whizz Implementation README