HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
ngn
apl
HTML2013–2018
ngn / apl

apl

deleted. i recommend using k instead: https://codeberg.org/ngn/k

8Distinct people
9Mentions
0Explicit recommenders
234GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

deleted. i recommend using k instead: https://codeberg.org/ngn/k

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year9 dated mentions

Observed mentions: 2013-04-03 18:14:11 UTC to 2018-04-10 18:30:04 UTC.

012342013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments20132014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC413
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC110
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC202

What Hacker News says

9 sources
But there are: k variants: kona (C, interpreter): https://github.com/kevinlawler/kona klong (C, interpreter): http://t3x.org/klong/ kuc (C++, JITted): http://althenia.net/kuc oK (JS, interpreter): https://github.com/JohnEarnest/ok (see also iKe by John Earnest) cousins: J (C, interpreter) http://jsoftware.com/ A+ (C, interpreter, unmaintained): http://www.aplusdev.org/index.html Gnu APL (C, interpreter): https://www.gnu.org/software/apl/ apl.js (JS, interpreter): https://github.com/ngn/apl There's also NARS2000 and a few other APL interpreters related: Numpy and R provide similar functionality, albeit with more verbose (and less fluent) composability. They are usually slower.
In The Q Language
The BrainFuck interpreter doesn't seem to work properly. For example, I tried ++++++++++[->+++++++<]. Which multiplies 10x7 and should print "F" (ascii 70). Nothing appears to print. I have a K interpreter[1] that could be adapted fairly easy to a system like this. Other good candidates include JSForth[2] and NGN APL[3]. [1] https://github.com/JohnEarnest/ok [2] http://home.diphi.com/users/jeffr/forth/jsforth.html [3] https://github.com/ngn/apl
In Show HN: A playground for in-browser interpreters
Check out J[1]. It's basically ASCII-APL though it lacks a toy modern implementation (in case you don't know, APL has one[2]). What really annoyed me about array languages is that idiomatic code is nearly impossible to follow after a month, so I ended up aliasing many of the commands to more verbose alternatives and using longer traditional constructs like IF-THEN-ELSE. That pretty much turned the language into weird-C-limited-to-binary-functions-with-an-array-stdlib, which kind of defeated the point. [1] http://www.jsoftware.com/ [2] https://github.com/ngn/apl
In Single assignment C
I have been contributing to the strange cousin of the macro which is the notion of inline DSL fragment. https://github.com/ngn/coffee-subscript In essence you get latex looking (\dsl) syntax to enter what ever DSL (which is just a standard node module). So this could be something as simple as an annotation style approach in which you consume the next chunk of coffee-script and simply wrap it - or something more involved like an entirely different language (this originally stemmed from the desire to have inline APL ala https://github.com/ngn/apl - which provides \apl and \apl.fn respectively). http://github.com/shaunxcode/jsedn and http://github.com/shaunxcode/swedn also work currently. Right now they are naive e.g they just emit a call to parse at runtime, when I get the time they will actually be more clever and, well, actually compile a
Read the rest
t compile time hah. Recently I have been toying with adding type annotations so I can easily port a code base to typescript but have them be entirely ignored by coffee. One side note is that we have discussed adding support for sweetjs as right now these are definitely DSL hooks and not hygenic macros. In fact I would go so far as to call these toothless macros e.g. it is up to you to chew the food (parse) and swallow it (emit valid js).
In Show HN: EmberScript - Ember.js Infused JavaScript

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.