DEV Community

Cover image for Whizz: Your Esoteric Language that's Short as BF, but Easier to Write
Splot Dev
Splot Dev

Posted on

Whizz: Your Esoteric Language that's Short as BF, but Easier to Write

I just made Whizz, an esoteric programming language that is full of capability and possible experimentation. Before I interest you in that, I'll explain to you something.

What is an esoteric programming language?

An esoteric language (or an esolang, colloquially), is a programming language designed to not fit the coding 'norms' or conventions.

Take an example: BF ('BF' is an abbreviation and euphemism of brainf***).

A standard language would notate a 'Hello, World!' program as something like:

print("Hello, World!")
Enter fullscreen mode Exit fullscreen mode

BF, on the other hand, requires something like this:

++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
Enter fullscreen mode Exit fullscreen mode

As you can see, BF, like most esolangs, is different: it's hard to write and a puzzle.

Whizz is inspired by BF, as its incrementing, decrementing and looping are inspired by it.

I made Whizz because I thought languages like BF were way too monotonous to write. Esolangs should be hard and puzzling to write, but not laborious.

BF requires you type '+' as many times you want to increment (without loops): so you have to find shortcuts and unscalable solutions, just to achieve your goal. In Whizz, just type that incrementation repetition count before the '+' sign, and there you have it!

These wonderful features that Whizz boasts keep the challenge in esolang-ing, but contradictorily makes it more 'scalable'. Another notable feature is functions: the epitome of order.

An example of a Whizz program would be:

zeroToNine {
   [ 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 ]
   )
}

zeroToNine*
Enter fullscreen mode Exit fullscreen mode

This, self explanatorily, outputs '0 1 2 3 4 5 6 7 8 9'. Again, in minimized form:

c10+n48+s32+(n!+c-;s!)
Enter fullscreen mode Exit fullscreen mode

I genuinely hope you experiment with Whizz, and solve puzzles & challenges with it, as if it were BF!

Install it with the ease of a terminal command:

pip install whizz
Enter fullscreen mode Exit fullscreen mode

If you have MacOS, use pip3.

Then, learn the usage & syntax instructions.

Please share your thoughts, and constructive feedback is absolutely encouraged.

Learn more about Whizz at the main site.

Bye!

Top comments (1)

Collapse
 
algorhymer profile image
sassenheimer

An esoteric language (or an esolang, colloquially), is a programming language designed to not fit the coding 'norms' or conventions.

-- | Lemma
cong-zl : ∀ { A : Set } → ∀ (f : A → A → Bool) (xs₀ xs₁ ys : List A)
  → xs₀ ≡ xs₁
    -------------------------------------------------
  → zipWith f xs₀ ys ≡ zipWith f xs₁ ys
cong-zl f xs₀ xs₁ ys xs₀≡xs₁ rewrite xs₀≡xs₁ = refl
Enter fullscreen mode Exit fullscreen mode