Aeolbonn

From Esolang
Jump to navigation Jump to search

Aeolbonn (An esoteric output language based on natural numbers) is a Turing-complete esoteric language designed by Keymaker.

Overview

Aeolbonn has infinite memory of boolean values, asterisk that can have any value from zero to upwards, and flip that is a boolean flag that'll receive the new value of a memory cell every time a memory operation has been performed. Execution starts at line 0 and will continue until the instruction pointer is outside the program area. Data that doesn't form valid instructions will result to undefined behaviour if encountered by the program pointer. Asterisk is initially zero and all the memory and flip are false.

Instructions

Aeolbonn has six instructions, one instruction per line. Some instructions are single ASCII characters while others may consist of thousands of digits (in theory).

The instructions are the following:

  • Odd values perform a memory operation. The bit at memory cell defined by this odd value will be flipped. Flip will get the memory cell's new value.
  • Even values perform a conditional jump. Jump is performed if flip is true, otherwise the execution continues on the next line.
  • '>' and '<' increase and decrease asterisk.
  • '?' makes flip randomly true or false.
  • ':' outputs the characters on line after it (excluding new-line). If there's nothing but ':' on the line, a new-line will be printed.
  • '*' works just as any odd or even value does. It technically isn't an instruction.

Examples

Infinite loop

0
1
2

Even value on line 0 (0), tries to perform a jump but doesn't succeed as flip is initially false, so the execution continues to the second line. On second line the bit in memory cell defined by this odd value (1) is flipped, and flip will receive the memory cell's new value, 'true'. On third line a jump is performed to line number 2, defined by the even number 2. Then, again on line 2, a jump will be performed to line 2.. Then it will be performed again, again, and again.. Ad infinitum.

Hello, world!

:Hello, world!
:

This program prints out "Hello, world!" along with a new-line.

Truth-machine

0
1
8
1
:1
:
4
1
:0

This program takes the first line as an input.

External resources