Creating efficient and transitive transformations between many pairs of esolangs, thus enabling various tasks like "converting Brainfuck to Befunge" or "generating a Malbolge code which prints given text" without huge efforts1; and

Identifying and creating a general framework to support them.

The current implementation of Esotope is written in Ocaml. Historically some esolang implementations produced by me are also named esotope; they are being integrated to the Ocaml version as time permits.

How to Use

Esotope is currently in heavy development, and has no stable version yet. The development version is available in Mercurial repository (mirrored at Bitbucket).

The main usage of Esotope is to execute given code. This is done using -f option which selects the input language:

Esotope is able to guess the input language from the file extension (in this case, .b maps to Brainfuck). For the list of supported extensions and abbreviations use --list-kinds option.

Esotope is capable for converting various input languages to other languages. For example, one can convert the text (denoted by text pseudo-language) to the Spoon code that prints that text with -t option: