Esolang Interpreters
Interpreters and generators for esoteric languages. Current work is in the roadmap; contracts and known boundaries are in limitations.
Use
just install-dev
esolangs list
esolangs run Suffolk program.txt
esolangs generate Suffolk "Hello, World!"
just test
The Python API is esolangs.run, generate, and list_languages.
Use --width for command-oriented generated programs; grids
and newline-sensitive languages retain their own layout.
Examples
esolangs generate 123 "Hi!" emits 76 characters drawn from two digits:
2122221121121121121122212222221121121121121121121121122122221121121121121121
esolangs run 123 on that prints Hi!.
tests/test_readme_example.py executes it, so the block cannot drift.
Ready-to-run programs are committed under examples/:
examples/hello-world/ holds a "Hello, World!" for each of the 52
languages with a text generator; examples/boolean/ holds a truth-table
program for each of the 69 languages with a boolean generator. Both
regenerate via scripts/write_examples.py.
Implemented languages
Show all 69 languages
The full capability matrix (generators, boolean support, examples) is in docs/languages.md.
Grid-based Languages
Languages that move a pointer or beam across a 2D grid.
- A Painter Ant (code)
- Alight (code)
- ArrowQueue (code)
- COD (code)
- Circuit Diagram (code)
- Clockwise (code)
- Dig (code)
- Flowchart (code)
- LaserFuck (code)
- Streetcode (code)
- Super SNUSP (code)
- WII2D (code)
Stack-based Languages
Languages that use a stack for data manipulation.
- 3x (code)
- BF-PDA (code)
- BFStack (code)
- Eval (code)
- Forþ (code)
- Grapheme (code)
- Modulous (code)
- Unsquare (code)
Queue-based Languages
Languages whose primary data structure is a queue or deque.
Tape-based Languages
Languages that operate on a tape (similar to Turing machines).
- 123 (code)
- 3D Brainfuck (code)
- 6-5 (code)
- Back (code)
- Basicfuck (code)
- BrainIf (code)
- Circlefuck (code)
- Dimensional (code)
- Factor (code)
- Home Row (code)
- Jaune (code)
- Minifuck (code)
- NoComment (code)
- Painfuck (code)
- ROTfuck (code)
- S*bleq (code)
- SLOW ACV MAMMALIAN (code)
- Suffolk (code)
- bit~ (code)
- brainfuck (code)
Register-based Languages
Languages that use registers to store and manipulate data.
- %^2^-1 (code)
- AddSubJump (code)
- BIO (code)
- Between (code)
- Collatz Multiverse (code)
- Decleq (code)
- Interprogck8 (code)
- Minsky Swap (code)
- MyScript (code)
- Nevermind (code)
- Point Break (code)
- Polynomial (code)
- Qoibl (code)
- RAM0 (code)
- Sophie (code)
Other Languages
Languages that don't fit into the above categories.
Line remains a standalone PNG-language tool under extra/line; run
just test-line for its suite.
Generators
Boolean generators accept a most-significant-input-first binary truth table.
The truth table is a binary string of length 2**n, most-significant input
first; its length implies n, so it isn't passed separately. 69 of the
languages have such a generator, some covering only a documented subset of
tables.
Text generators are available through esolangs generate; see esolangs list for support. Regenerate committed examples with
python scripts/write_examples.py.
Contributing
Read the contribution guide, then run just test.
The project is GPL v3; see LICENSE.
Metadata
Release files for esolangs 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| esolangs-0.2.0.tar.gz | 907.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| esolangs-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.9 MB
Release files / esolangs-0.2.0.tar.gz
| Download URL | esolangs-0.2.0.tar.gz |
|---|---|
| Size | 907.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1f6970d7472502261af2699d2e0724e995de3f9483ad2e67a3586fe44c3a1d87
|
|
BLAKE2b-256 checksum How to use checksums |
a7d58626966d617d027c43d0bab5efa2c4c847da61dfada9cb870ca4ef5bd41f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logRelease files / esolangs-0.2.0-py3-none-any.whl
| Download URL | esolangs-0.2.0-py3-none-any.whl |
|---|---|
| Size | 972.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9000e58fed4da87470da1a1f5d88bb7b7b0ec2b3bee82845e45b52ccd49ce733
|
|
BLAKE2b-256 checksum How to use checksums |
284bc9073550bb47ee48aff84553aa2dfd1e937857e83a32555b288e25daa8a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency log