We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

Bijection

From Esolang
Jump to navigation Jump to search

Bijection is a esolang created by User:Yayimhere where all you do is copy lines to other lines

commands

there is the main command:

{s}n

This will result in the contents of line n(0 index) to be appended to s, and then the new s is executed, and the new resulting string will replace the old string in this command. To separate any and all commands you use ;, which can be nested inside of {}. putting # at the start of a line will result in that line not getting executed. Putting # anywhere else on a line, it will act as a NOP command, and the line will run as normal(unless it sits between brackets and the number, in which an error will occur).
all this loops forever. so we iterate each line once top to bottom. then we do it again forever.

the I/O extension

in this extension (print x) prints x. Input is more complex:

  • Split the input string into a stack of each character, all converted to their respective ascii value(minus one). The end of the input(right before EOF), is the bottom of the stack.
  • Every instance of f(), in place of a number, will pop the top of the stack and make that the numeric value(permanently).

examples

Infinite loop:

{}0

(even though every program loops forever but this one does something)

Looping counter(created by User:ais523):

{}1
#(print * ) 
(print \n )

this uses the I/O extension. a version that doesn't is:

{}1
#

however it is (obviously) unable to print.

Truth-machine:

{}f()
















































#(print 1)

input 0 will result in:

ε

(i.e empty) and 1 will result in:

1111111......

this requires the I/O extension.