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.

Batchfuck

From Esolang
Jump to navigation Jump to search

is a Turing complete esoteric subset of batch invented by User:None1.

In Batchfuck, only the following characters are allowed:

verlogtfc>:%01

and spaces and line feeds.

16 characters are a lot, but not much for batch.

Computational class

Batchfuck is Turing complete as long as there's an infinite amount of disk space because it can be translated from a 2-register Minsky machine.

We use two files for each register:

Register name Main file Helper file
A r e
B v l

We'll use r to represent a file for a register and h to represent the helper file for it.

Incrementing a register can be translated like this:

ver>r

Decrementing a register can be translated like this:

ver>h

Jumping to a different locations if a register is 0 can be translated like this:

fc r h
goto label%errorlevel%

Assuming that label0 and label1 are the two locations to jump when the register is zero/nonzero.

See also