Rendered at 16:00:33 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
harperlee 2 hours ago [-]
APL was designed to be written on a chalkboard (if I remember the story right). It is quite dense, and programs are quite small. Reading is slow and requires you to ponder about what was written. You can hold a lot of content in a small amount of 'ink'.
Now, an idea: HN is always complaining that an ipad (or any other tablet) is a consumption device, as it is not designed to be used with keyboard/mouse. Do any of you know if there is an app where you can write APL with a stylus, and has the ability to evaluate expression on the fly, similar to a repl? That would be an awesome thing to do.
JaumeGreen 1 hours ago [-]
I presented the same idea[0] and some people had already built something similar.
On-screen tablet/phone keyboards seem perfect for apl to me.
There’s an iOS port of J but it’s no longer available on the App Store.
NetMageSCW 2 hours ago [-]
My favorite APL one liner reduces spans of consecutive spaces in a string to one space by doing boolean algebra on the vector of which characters are spaces. APL provided me with a whole different perspective on vector style operation (it was my second language to be familiar with after Basic due to finding an APL introductory book at a discount shop). I find that way of thinking has been very helpful in developing with LINQ in C# and my personal library has many methods inspired by APL operators.
icen 1 hours ago [-]
Do you remember what it was? This is how I would spell that in BQN, and you could write something very similar in APL (you don't have shift, so you'd have to write 1 drop 0 cat swap instead)
((«¬∘∧⊢)' '=⊢)⊸/
This works by building a boolean mask of spaces, and converting it to a mask of 'is a space, preceded by a space', negates that, and replicates out by that inverted mask (i.e. is not a space preceded by a space):
Here's stepping through it with some input.
(' '=⊢) "this is a sentence with many spaces"
⟨ 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 ⟩
(«' '=⊢) "this is a sentence with many spaces"
⟨ 0 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 ⟩
((«∧⊢)' '=⊢) "this is a sentence with many spaces"
⟨ 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 ⟩
((«¬∘∧⊢)' '=⊢) "this is a sentence with many spaces"
⟨ 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 ⟩
((«¬∘∧⊢)' '=⊢)⊸/ "this is a sentence with many spaces"
"this is a sentence with many spaces"
> The core what it does seems ridiculously simple. So much so that when I initially considered this I didn’t think it would even be close to being performant. I mean, an interpreted language and all of these movements on large shapes at once!–doesn’t feel like it would be a good idea!!! I guess I was wrong? Doing this on a chunk sized `16 128 16` is pretty fast and I’m able to fly around the map at high speeds (TBA: me demoing this live in a presentation). This kind of boggled my mind and broke my intuitions of what I considered good patterns, at least in the domain of APL.
I wonder what makes it so fast? Is it similar to how GHC can fuse/inline ops and such?
TruffleLabs 4 hours ago [-]
FYI Page certificate is bad (expired, wrong, etc.).
kcroarkin 4 hours ago [-]
Author here. D’oh! Thanks for catching that. I have no idea what I’m doing web dev wise and made this site to talk about my APL experience. Will try to fix this when time permits.
TacticalCoder 4 hours ago [-]
I see nothing wrong here: Firefox and Chromium are both happy.
Issued On Saturday, May 2, 2026 at 2:44:13 AM
Expires On Friday, July 31, 2026 at 2:44:12 AM
Certificate d87df94f5e922e0637aaff31768405813764ca7dadcafbd051bf48898860fb8f
Public Key a9bd7eee0bb4f1e12431ca8fab0a70591b8966dad8226db84f53791e2d81c9e3
Now, an idea: HN is always complaining that an ipad (or any other tablet) is a consumption device, as it is not designed to be used with keyboard/mouse. Do any of you know if there is an app where you can write APL with a stylus, and has the ability to evaluate expression on the fly, similar to a repl? That would be an awesome thing to do.
[0] https://news.ycombinator.com/threads?id=JaumeGreen#46718221
List of links:
[NKoP]: https://mlajtos.mu/posts/new-kind-of-paper [MathNotes]: https://mlajtos.mu/posts/new-kind-of-paper-5 [Fluent]: https://news.ycombinator.com/item?id=46649223 [Demo]: https://youtu.be/y5Tpp_y2TBk
https://mlajtos.mu/posts/new-kind-of-paper
There’s an iOS port of J but it’s no longer available on the App Store.
Here's stepping through it with some input.
I wonder what makes it so fast? Is it similar to how GHC can fuse/inline ops and such?