Esolangs

From Esolang
Jump to navigation Jump to search

Esolangs is a joke language designed by User:RocketRace. Hop between any program in any language on esolangs.org!

Syntax

An Esolangs program consists of sequentially executed program calls of the following syntax:

language<program>

Any special characters (<, >, =, -, and any whitespace) within the language name must be escaped with backslashes (\). Angle brackets within programs must be escaped as well. Double backslashes yield a single escaped backslash.

Valid languages are all esolangs on esolangs.org that are categorized with "Languages" and "Implemented".

The output of each program call can be piped to other languages as programs, using the `=>` syntax, or called once more if the output is a valid language:

brainfuck<-.> => malbolge
///<\\/\\/\\/><>

Pipes can be combined indefinitely. <> calls can also be chained indefinitely.

Note that languages that are piped into don't require <> to call.

I/O

Program input (not the programs themselves) must be in binary, encoded to text if necessary.

Misleading thin pipes are redirected to stdout:

whitespace<       > ->

Maked thin pipes are drawn from stdin:

-> PHP<... I don't know PHP>

There may be only one of each per line, and they must reside at the end and start of the line, respectfully.

A program's output may be treated as another program's input:

Babalang<baba is you> -> Rui<:1>

Computational class

It's got to be Turing-complete, admit it. Proof by hand-waving.

Examples

Cat program once:

->

Hello, World!

brainfuck<+[--\>-[\>\>+\>-----\<\<]\<--\<---]\>-.\>\>\>+.\>\>..+++[.\>]\<\<\<\<.+++.------.\<\<-.\>\>\>\>+.>