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.

ArrowQueue

From Esolang
Jump to navigation Jump to search
This article is not detailed enough and needs to be expanded. Please help us by adding some more information.

ArrowQueue is a two-dimensional esolang created by User:ChuckEsoteric08 inspired by Re:direction

Specification

ArrowQueue uses a single queue which stores Instruction Pointer's direction. There are following commands:

* - turn Instruction Pointer (IP) clockwise
~ - enqueue current direction
+ - dequeue element from the queue and set direction to it

Other characters are ignored. Program halts when it tries to dequeue from an empty queue or IP moves out of bounds.

Computational class

It is possible to translate Cyclic tag system into the language. 0 is encoded as (down, right) and 1 is encoded as (right, right). As an example here is Cyclic Tag program with initial data 1 and productions (011, 10, 101):

 ~~***                               **
    *                                 *
  *  + *     * + +~~* * + +~~*     +  *
  **   ~            ~        ~       **
      * ~~~~~ *    * ~ *    * ~~~ *    
      **     **    ** **    **   **    
    *           *        *          *  
    **         ***      ***        **

Implementations

A Python interpreter by User:Bangyen.

See also