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

all-hail-the-mighty-json

v0.0.1

Published

A LISP-like in the All Mighty JSON

Downloads

4

Readme

all-hail-the-mighty-json

If you like JSON so much, why don't you program with it?

JSON has supplanted overly-verbose XML and S-expressions as the de facto data exchange format for modern computing. By simultaneously avoiding explicit and rigid schemas and providing a simple, unambiguous representation, JSON is truly the way of the future.

This project progresses the benevolent dominance of Douglas Crockford's (praise be upon Him) JSON to its next logical step. Programs themselves often rely on data formats that are highly verbose or dependent on arbitrary and sometimes platform-specific characters like newlines or semicolons. all-hail-the-mighty-json is a programming language for the modern developer who understands that JSON is the One True Path.

Instead of representing code as messy and hard-to-skim S-expressions, or as silly lines of code, all-hail-the-mighty-json uses JSON itself to represent source code. The below example shows how to calculate the factorial of five:

["last",
 ["defun", "\"factorial\"", {"args":["n"],
			                 "body": ["cond",
				                      ["<=", "n", 1],
				                      1,
				                      ["*", "n",
									      ["factorial", ["-", "n", 1]]]]
	                        }],
 ["console.log", ["factorial", 5]]
]

Obviously, this approach uses a standard monadic eager-applicative functor over an immutable fixed point combinator of the state space, as is popular in any decent modern frontend web framework. Save this program to sample.json and run it as follows:

~ $ npm install -g all-hail-the-mighty-json
~ $ all-hail-the-mighty-json sample.json 
120
~ $ 

Minified, the entire interpreter is only 550 bytes, making it a small addition to your no-doubt multi-megabyte Angular2/JQuery/Bootstrap stack. Future versions will include support for async/await, JSX, reactive programming, and possibly something actually useful.