Benedictum
| Paradigm(s) | imperative |
|---|---|
| Designed by | Benedikt Pankratz (Beneking102) |
| Appeared in | 2026 |
| Memory system | Cell-based |
| Dimensions | one-dimensional |
| Computational class | Turing complete |
| Major implementations | Reference implementation (C) |
| Influenced by | Brainfuck |
| File extension(s) | .ben |
Benedictum is a esoteric programming language created by Benedikt Pankratz in 2026 with a computational class equivalent to a Bounded-storage machine with infinite input (ie. a finite-state automaton). It is a Brainfuck derivative in which the eight standard instructions are replaced by Latin words, and six additional convenience commands are provided. Unlike most Brainfuck substitutions, Benedictum is not a trivial brainfuck substitution because its extended instruction set adds functionality beyond the original eight commands.
The name is Latin for "blessed" or "well spoken" (bene dictum), and the language is themed around the conceit that every program is a benediction — a prayer whispered to the machine. Because the tokenizer only recognises specific Latin keywords at word boundaries and silently ignores everything else, Benedictum source code can be written as flowing prose with instructions woven in.
Language overview
Benedictum operates on a tape of 30,000 unsigned 8-bit cells, each initially set to zero, with a pointer starting at cell 0. Cells wrap on overflow (255 + 1 = 0) and underflow (0 − 1 = 255).
Core commands
The eight core commands map directly to Brainfuck:
| Command | Latin meaning | Brainfuck | Description |
|---|---|---|---|
bene |
good | + |
Increment the current cell |
male |
badly | - |
Decrement the current cell |
dex |
right | > |
Move the tape pointer right |
sin |
left | < |
Move the tape pointer left |
dic |
speak | . |
Output the current cell as an ASCII character |
audi |
listen | , |
Read one byte from stdin into the current cell |
ora |
pray | [ |
Begin loop: skip to matching amen if cell is 0
|
amen |
so be it | ] |
End loop: jump back to matching ora if cell is non-zero
|
Extended commands
These commands go beyond standard Brainfuck:
| Command | Latin meaning | Description |
|---|---|---|
lux |
light | Print the current cell as a decimal number |
nox |
night | Print a newline character (ASCII 10) |
fatum |
fate | Set the current cell to a random value (0–255) |
requiem |
rest | Halt the program immediately |
sanctus |
holy | Zero the current cell (equivalent to ora male amen)
|
numerus |
number | Read a decimal integer from stdin into the current cell |
Comments and prose
Any text that is not a recognised command keyword at a word boundary is silently ignored. This means entire paragraphs of Latin (or English, or any language) can surround the instructions and serve as natural comments:
This is a prayer to the machine. Let us begin with a blessing. bene bene bene bene bene bene bene bene bene ora dex bene bene bene bene bene bene bene sin male amen The cell has been sanctified. Now speak. dex dic
Caveat: Some common English and Latin words are also Benedictum commands — sin, male, amen, ora, fatum, lux. If these appear in prose at a word boundary they will be tokenized as instructions. The interpreter provides a --lex flag to inspect what the tokenizer actually sees.
Computational class
If there weren't any memory restrictions, as the eight core commands are a direct mapping from brainfuck which is known to be Turing complete, this language is turing complete as well. However, the specification clearly says that the program runs on a 30000-cell tape with 8-bit cells, providing only limited memory, so it is only a finite-state automaton. The six extended commands (lux, nox, fatum, requiem, sanctus, numerus) are convenience additions and do not affect the computational class.
Examples
Hello, World!
bene bene bene bene bene bene bene bene
ora
dex bene bene bene bene
ora
dex bene bene
dex bene bene bene
dex bene bene bene
dex bene
sin sin sin sin male
amen
dex bene
dex bene
dex male
dex dex bene
ora sin amen
sin male
amen
dex dex dic
dex male male male dic
bene bene bene bene bene bene bene dic dic
bene bene bene dic
dex dex dic
sin male dic
sin dic
bene bene bene dic
male male male male male male dic
male male male male male male male male dic
dex dex bene dic
dex bene bene dic
Cat
audi
ora
dic
audi
amen
Dice roll (d6)
Uses the fatum extension to generate a random number, then reduces it modulo 6 and outputs the result as a digit:
fatum lux nox
Truth-machine
Using extended commands for numeric I/O:
numerus
ora
lux
amen
lux
Interpreter flags
The reference implementation provides additional modes:
| Flag | Description |
|---|---|
--gloria |
Verbose mode: dumps the full tape state after every instruction |
--lex |
Tokenize only: prints the parsed instruction list and exits |
--version |
Print version string |
--help |
Print usage information |
Implementations
- Reference implementation in C (also includes a Python interpreter)
Converting from Brainfuck
Any Brainfuck program can be directly translated:
| Brainfuck | Benedictum |
|---|---|
+ |
bene
|
- |
male
|
> |
dex
|
< |
sin
|
. |
dic
|
, |
audi
|
[ |
ora
|
] |
amen
|
External resources
- Benedictum on GitHub — source code, interpreter, and example programs
- Author's portfolio