0.5.2 • Published 3 years ago

arn-language v0.5.2

Weekly downloads
20
License
Apache-2.0
Repository
github
Last release
3 years ago

Arn

Build Status

A general-purpose function golfing language.

Installation

To install Arn you must have Node.js installed on your system. Once installed, run

npm install -g arn-language

You can then run the command

arn run PATH

to run a file as an Arn program. You can also pass extra arguments to pass some user input to the program (example below). Use arn help to get a full list of commands/flags.

arn run PATH 5 "Hello, World!"

Would pass two lines of input to the program, one with a 5, and one with the string Hello, World!

About

Arn is a golfing language; that is, it is designed to perform tasks in as few bytes as possible. However, unlike other golfing languages (such as 05AB1E or Gaia), Arn is a functional paradigm with variable-based storage. This is different from other golfing languages, which mainly use single-character commands. Arn is much more similar to J, therefore, than any of these other golfing languages.

Arn is constructed of variable declarations, functions, and symbols. These symbols come in the forms of prefixes, infixes, and suffixes. A full syntax and description can be found at this page. This format, however, may lead to instances where your program needs to be a few bytes shorter in order to compete. This is where Carn (Compressed Arn) comes in.

Compression

Carn is the compressed version of Arn. The interpeter has the ability to distinguish between these two program formats and interpret each separately, without any input from the user. Carn is encoded using its own Code Page, based on CP1252. It can be found below. The Arn interpreter will compress your program by passing in the -c flag to the compiler through the command line.

Code Page

__0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F
0_!"#$%&'()*+,-./0
1_123456789:;<=>?@
2_ABCDEFGHIJKLMNOP
3_QRSTUVWXYZ[\ | ] | ^ | _ | `
4_abcdefghijklmnop
5_qrstuvwxyz{|}~¡¢
6_£¤¥¦§¨©ª«¬®¯°
7_
8_±²³
9_´µ·¸¹º»¼½¾¿ÀÁÂÃ
A_ÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓ
B_ÔÕÖ×ØÙÚÛÜÝÞßàáâã
C_äåæçèéêëìíîïðñòó
D_ôõö÷øùúûüýþÿŒœŠš
E_ŸŽžƒƥʠˆ˜
F_

The future

Arn is still very early in development (as of writing this, version 0.1!). This means that all features in Arn are subject to change. Any advice, feedback, or pull requests that improve the language are welcome. Current features that will exist in the future:

  • Lots of command-line flags
    • These will have options on the online version
  • Rework text encoding
0.5.2

3 years ago

0.5.1

3 years ago

0.5.0

4 years ago

0.4.8

4 years ago

0.4.7

4 years ago

0.4.6

4 years ago

0.4.5

4 years ago

0.4.4

4 years ago

0.4.3

4 years ago

0.4.2

4 years ago

0.4.1

4 years ago

0.4.0

4 years ago

0.3.8

4 years ago

0.3.6

4 years ago

0.3.5

4 years ago

0.3.7

4 years ago

0.3.4

4 years ago

0.3.3

4 years ago

0.3.2

4 years ago

0.3.1

4 years ago

0.3.0

4 years ago

0.2.2

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.6

4 years ago

0.1.4

4 years ago

0.1.5

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago