logoalt Hacker News

Saying Goodbye to one line of APL

85 pointsby toshlast Monday at 10:38 AM26 commentsview on HN

Comments

harperleeyesterday at 1:41 PM

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.

show 4 replies
NetMageSCWyesterday at 2:19 PM

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.

show 1 reply
toshyesterday at 12:47 PM

The youtube channel has a few videos of the voxel game in action: https://www.youtube.com/@namgyaaal

i_don_t_knowyesterday at 4:20 PM

Here’s some helpful background information on the project: https://news.ycombinator.com/item?id=47872891

In particular, it has diagrams of the data structures and how the algorithm operates on them.

TruffleLabsyesterday at 11:42 AM

FYI Page certificate is bad (expired, wrong, etc.).

show 4 replies
kimjune01yesterday at 7:18 PM

numpy is the APL reincarnate

show 1 reply
LoganDarkyesterday at 3:08 PM

> 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?

show 1 reply