Implementations of different esoteric programming languages. Most of the interpreters/compilers work by reading the file specified by the first command line argument.
Register-based | Register-based (cont.) | Tape-based | Tape-based (cont.) | Stack-based | Other |
---|---|---|---|---|---|
BIO | Movesum | ASCII art | SLOW ACV MAMMALIAN | BFStack | Bitdeque |
Dig | Polynomial | Back | Suffolk | Eval | Clockwise |
dotlang | Qoibl | BrainIf | 6-5 | Modulous | Container |
DSDLAI | RAM0 | circlefuck | The Temporary Stack | Keys | |
huf | Sophie | EXCON | Nevermind | ||
Lightlang | WII2D | Minifuck | ZTOALC L | ||
Minsky Swap |
Implementations written in languages other than Python.
C++ | C++ (cont.) | x86 Assembly | Lean | Ruby | Rust |
---|---|---|---|---|---|
Basicfuck | Trash | Brainpocalypse | Albabet | bit~ | LaserFuck |
Dimensional | 2dFish | NoComment | BF-PDA | Number Seventy-Four | Unsquare |
Forþ | %^2^-1 | Stun Step | EXCON | Unsquare | |
Kak | 123 | Number Seventy-Four | 3x | ||
Painfuck | 2 Bits, 1 Byte |
Sorted by target language.
x86 Assembly | C |
---|---|
BFStack | BF-PDA |
Home Row | BFStack |
Jaune | EXCON |
Suffolk | RAM0 |
Unsquare |
- For circlefuck, the
narcissist
program is the only program for which the interpreter doesn't work. The extendedquine
program doesn't work because it modifies a+
symbol, causing it to increment incorrectly. - For dotlang, the interpreter skips over strings and warp names after parsing them, so printing a string with spaces is possible. If this additional feature seems to be a negative rather than a positive, feel free to create an issue.
- For Jaune, only one character can be input at a time.
- For Suffolk, although the language is specified to run on an infinite loop, a second command line argument may be given to set the number of loops. The default is
10
. - For 123, input is given at the end of the program. The two are separated by a single
|
.
-
The
binary.py
program implements a given boolean function in Dig. -
The
generate.py
program outputs programs which output a given string in different languages. The supported languages are as follows:- BFStack
- BrainIf
- Container
- Forþ (Forth)
- LaserFuck
- Painfuck
- Suffolk
- 123
- %^2^-1 (Magnitude)