Skip to main content

An esoteric language that uses drawings of arrows.

Project description

arrows-esolang

Arrows is meant to be a graphic, stack-based esoteric language. This package includes two command line utilities, arrows, the arrows interpreter, and arrowsc, the arrows compiler. For a more detailed description of the language, see my blog post about it.

Build Status PyPI version

Arrows has the following properties:

  1. Every operation and value in the language is a drawn arrow.
  2. Values are encoded as distance traveled along an arrow. Every five pixels traveled increments a register by one.
  3. Stack operations are encoded as turns within an arrow.
  4. Conditionals are encoded as double ended arrows.

The stack operations are:

  1. Turn up: Push the current value onto the left stack.
  2. Turn down: Push the current value onto the right stack.
  3. Turn left: Pop x from the left stack, and subtract x from the current value.
  4. Turn right: Pop x from the right stack, and subtract x from the current value.

There are two types of arrow heads:

  1. Plain arrows. Simply continue forward until you hit another arrow.
  2. Out arrows. Have two extra pixels at the back of the arrow head. Outputs the current value as an ASCII character.

There are three types of arrow rears:

  1. Plain rear. Nothing special.
  2. Start rear. The back of an arrow that has one extra pixel signals the starting location of a program.
  3. Input rear. The back of an arrow that has two extra pixels signals that when entered from the direction the arrow is facing that one character should be read in and stored as the current value.

Arrows in your eyes
Fear where your heart should be
War in your mind
Shame in your cries

- Arrows - Foo Fighters

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arrows_esolang-1.0.2.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arrows_esolang-1.0.2-py3.7.egg (16.5 kB view details)

Uploaded Egg

File details

Details for the file arrows_esolang-1.0.2.tar.gz.

File metadata

  • Download URL: arrows_esolang-1.0.2.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

File hashes

Hashes for arrows_esolang-1.0.2.tar.gz
Algorithm Hash digest
SHA256 4e919e48f2b145aee94e3ff05344a2d92f3ad21cf713f5093db40a2a678aace8
MD5 c77853daf2b77195f5149871039400ed
BLAKE2b-256 6d055a824f929e751d6c379ed5e8c7acc9b6e7c29199daf9e26aa4621ae73446

See more details on using hashes here.

File details

Details for the file arrows_esolang-1.0.2-py3.7.egg.

File metadata

  • Download URL: arrows_esolang-1.0.2-py3.7.egg
  • Upload date:
  • Size: 16.5 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

File hashes

Hashes for arrows_esolang-1.0.2-py3.7.egg
Algorithm Hash digest
SHA256 a7a439c818cbbe01a54c4180f35f5bff8768f9321fcceec03e96c04b99a953f9
MD5 cd63c03e7a3f24dc0b8c5dc846d05a61
BLAKE2b-256 4dafe4990a5df74901a09fd76b20f5eecd2a700c1afd637071cf1e4be2f51e03

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page