Arrows

From Esolang
Jump to: navigation, search

Arrows is a W.I.P esoteric programming language by User:HereToAnnoy that only accepts UTF8/Unicode arrows.
A list of accepted arrows can be found here.

Program layout

Programs written in Arrows are saved with file extension .arws and consist of 26 columns and an unlimited amount of rows. Each column contains one unicode arrow character, and columns may be separated by whitespace (which is removed from the program during execution)

Syntax

An arrows program consists of multiple "streams" of binary data that follow the course of arrows throughout the grid. Each stream can hold a different amount of bits, usually corresponding to the number of arrows in a single character (i.e. holds one bit and holds two).

Commands & Symbols

  • , , , , , , , and transfer one bit of data from the base of the arrow to the tip.
  • and invert the value of the bit they transfer.
  • and transfer 0 and 1 (respectively) one space in all directions.
  • , , , , , , , and transfer two bits of data from the base of the arrow to the tip.
  • and split bigger streams into smaller ones
  • , , , and transfer any number of bits to the program output.

Examples

  • Merge two 1 bit streams into a single 2 bit stream (and vice versa):
↺
↓     →⥤
⇒⇒⇒⇒⤙
↑     →⥤
↻

Note: The above program outputs "01" (the top and/or left of the program gets "priority" over the other directions)

External resources