# Queueue

Jump to navigation
Jump to search

Queueue (intentional misspelling of Queue) is an esoteric programming language made by User:Rehydratedmango.

## Overview

All data in Queueue is stored in queues, which can be further nested in bigger queues. Program execution begins with a single master queue.

## Commands

Command | Description |
---|---|

queue # to "queue" | Queue an integer to a queue |

queue "queue" to "queue" | Queue a queue to another queue |

new "queue" | Define a new queue |

forget "queue" | Delete a queue |

queue # to "queue" ?"queue"=="queue" | Queue an integer to a queue if two queues are equal |

queue "queue" to "queue" ?"queue"=="queue" | Queue a queue to a queue if two queues are equal |

output from "queue" | Dequeue the next item in the queue and print it. If the value is a queue, each value inside the queue will be printed as an ASCII character |

input to "queue" | Get input from the user. Each character they type will be queued as an ASCII code |

transfer from "queue" to "queue" | Dequeue the next item in the first queue and queue it to the second queue |

queue $"string" to "queue" | Queue every ASCII code, one after the other, to a queue |

in "queue" do {code} | For every value in the queue, dequeue it and execute some code. The dequeued value can be referenced with "i" |

for # do {code} | Repeat some code # times. The current loop number can be referenced with "i" |

while "queue"=="queue" do {code} | While the two queues are equal, execute some code |

# + # | Returns the sum of two integers |

# - # | Returns the difference of two integers |

# * # | Returns the product of two integers |

# / # | Returns the quotient of two integers |

# % # | Returns the remainder of two integers |

A queue name beginning with # (as in #"main") refers to the length of the queue. This is the only way to store variables in Queueue.

Queueue has some special queue names that cannot be deleted. These are:

- main (main queue)
- empty (an empty queue; cannot be modified)
- garbage (queue is automatically cleared after every instruction)
- i (queue containing the current loop data in loops)

## Examples

### Hello, world!

new "hello" queue $"Hello, world!" to "hello" queue "hello" to "main" output from "main"

### Truth machine

new "state" input to "state" new "one" queue $"1" to "one" while "state"=="one" do { queue "state" to "main" output from "main" } queue "state" to "main" output from "main"

### Fibonacci

new "n-2" new "n-1" new "n" queue 0 to "n-1" while "empty"=="empty" { queue #"n-2"+#"n-1" to "main" output from "main" for #"n-2"+#"n-1" do { queue 0 to "n" } transfer "n-2" to "garbage" transfer "n-1" to "n-2" transfer "n" to "n-1" }