npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

arn-language

v0.5.2

Published

A functional golfing language

Downloads

113

Readme

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_ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? | @ | | 2_ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | | 3_ | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ | ``` | | 4_ | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | | 5_ | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | ¡ | ¢ | | 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