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 🙏

© 2026 – Pkg Stats / Ryan Hefner

transposed

v1.0.5

Published

Matrix-based esolang

Downloads

6

Readme

Transposed

A matrix-based esolang https://esolangs.org/wiki/Transposed

About

Transposed is an esolang based around certain aspects of a mathematical matrix. The code is designed to appear like a matrix, and output is stored in a matrix-like fashion. Certain commands are similarly designed to operate on "rows" and "columns" of the output matrix.

Installation

Install Transposed onto your computer using the command npm install -g transposed. You can then run transposed using transposed "FILE" with STDIN afterwards. For example: transposed "C:/Programs/example.itr" 54 C 3

Specifications

The program: each "command" is made up of two parts; the prefix and the suffix. Each command is seperated by spaces, and each row of commands is seperated by a newline. All rows must be the same length.
Memory: A single 16-cell memory called "C". Starts at 0
The matrix: When a program is run, each prefix is appended to the end of the current row of the matrix (unless the suffix is 8, E, or F). Once you either leave the current row of the program or use the GOTO command, a new row will be formed
Prefix/suffix: The prefix and suffix are in base16. This means they can be in the range[0-9A-F], or 0-15 to be more precise.
I/O: Input can be taken as either ASCII or INT, both are supported. All outputs are done with ASCII unless the filetype is .itr instead of .tr. If no input can be found on STDIN, a -1 is given to the matrix.

Suffixes: (N = the prefix that's currently in the matrix, C = the Memory)
0 = NIL
1 = READ FROM STDIN
2 = ADD CURRENT ROW
3 = SUBTRACT ROW
4 = DIVIDE ROW
5 = MULTIPLY ROW
6 = REVERSE ROW
7 = DELETE ROW
8 = GOTO ROW N IF ITEM IN ROW = 0
9 = END PROGRAM
A = ADD ALL ROWS
B = SUBTRACT ALL ROWS
C = DIVIDE ALL ROWS
D = MULTIPLY ALL ROWS
E = STORE ITEM IN ROW IN C[N]
F = PLACE C[N] INTO ROW

Visual Representation

The way the language works can be visualized in this small example. Take this program:

01 12 28 13 00 18
09 00 00 00 00 00

This is a simple CAT program in this language. This means that whatever is in STDIN will be outputted. Lets say STDIN is this: AB. Here is a walkthrough of what it looks like as it evaluates:

65

65 1

66

66 1

65

65
66

65 0
66 1

65
67

65 0
67 1

65
66

This resulsts in a 2x1 matrix. It is then transposed, resulting in a 1x2 matrix of 65 66. This is then outputted as AB.

Limitations

Due to the nature of the language only outputting once calculation is complete, this limits the types of programs that can be created. For example, you cannot dynamically print and then ask for input, and if your program never terminates nothing will ever be printed.

Programs

Using this knowledge, we can create a few example programs:

# Hello World
10 90 85
A0 A5 12
10 C0 95
C0 10 95
C0 95 32
80 10 45
70 C5 32
90 C5 32
A0 B5 42
10 C0 95
A0 10 A5
# CAT Program
01 12 28 13 00 18
09 00 00 00 00 00