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
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.