(*U

From Esolang
Jump to navigation Jump to search

(*U is a esolang (made by Yayimhere) inspired by BackFlip, Black, and Conway's Game of Life. Its 2d and is meant to be turing complete like black. Also its name comes from random typing and is pronounced opening star U(OSU)

how it works

OSU is kinda a Cellular automaton(CA). There is a pointer but also its still kinda a CA. There is 1 command(4 if you count NOP, the second mirror type, and the output) and thats the mirror(\ and /. Here are the rules:

  • mirror the pointer(\ Is 90 deg and / Is -90 deg) and move one space in the pointer direction then flip(/ Becomes \ and the other way around).
  • if a mirror hits another mirror when pushed they both move and won’t flip.
  • if there is a non-space(any other char than a mirror thats not a space) in the way of a push it will halt
  • if there is a non-space above or below the pointer while it pushing it will turn 180 degrees and will move the mirror one space up
  • if the pointer hits a non-space it will print it (if its a λ a newline will be printed instead)
  • if the pointer just did a 90 or -90 degree turn and then a 180 it will turn -90 degrees
  • if the is a non space or mirror above AND below the mirror the pointer is about to hit it will ignore the mirror
  • if a non space has a mirror to the left and/or right it will copy itself in the direction of the mirror(s)
  • if there is two mirrors then a non space they wont move even when pushed nor will it flip

The pointer start at the third row and the fifth collumn. Also if the pointer is going up or down whats being told as up and down will be left and right. Also anything thats not a mirror nor a non-space will do a NOP. The grid is infinite in all directions. The pointer start by going right

examples

Infinite loop:

    A  A
    /  \
  A//  \\A 

  A\\  //A
    \  /
    A  A

All of them have their top at the third row