HNHacker News
TopNewBestAskShowJobs

skruger

511 karma · joined December 6, 2016

I dabble in array languages

<https://xpqz.github.io/learnapl>

<https://xpqz.github.io/cultivations>

<https://xpqz.github.io/kbook>

submissionscomments
skruger··on Who Is America's Homer?
Cormac McCarthy gets my vote.
skruger··on l: A new runtime for k and q
The 'unit of thought' thing is a nod to the Ken Iverson paper on APL that won him the Turing Award ("Notation as a Tool of Thought"), also referenced by Dyalog's tag line "The tool of thought for software solutions"). Variations of that phrase are endemic in the array languages space.
skruger··on Mastering Dyalog APL
It has a huge RoI, even if you never use it in anger. It’s a bit like Lisp in that regard — it shapes your thinking.
skruger··on Mastering Dyalog APL
A more concise intro to APL for the modern era: https://xpqz.github.io/learnapl

(author)

skruger··on In Praise of APL (1977)
I faced exactly this situation a few years ago - I went with APL as the “OG”, but it probably doesn’t matter that much. Learning k or j once you know APL is much easier. I wrote a bit about this (apl and k)

https://xpqz.github.io/learnapl

https://xpqz.github.io/kbook

skruger··on In Praise of APL (1977)
It makes parsing tricky. But for the programmer it’s rarely an issue, as typically definitions are physically close. Some variants like BQN avoids this ambiguity by imposing a naming scheme (function names upper case, array names lower case or similar).
skruger··on In Praise of APL (1977)
Yes, it's either an array (if A, B and C are arrays), a function derived via the dyadic operator B, with operands A and C being either arrays or functions, a dyadic function call of the dyadic function B (A and C are arrays), or the sequential monadic application of functions A and B to array C, or a derived function as the tacit fork (A, B and C are functions). Did I miss anything?
skruger··on In Praise of APL (1977)
Whilst LLMs still perform weakly in APL, the situation is improving at pace, and giving it a “skill” to evaluate code makes a dramatic difference. I gave a conference talk about it recently (video): https://youtu.be/H_wdKeJ8gt4
skruger··on Zoo of array languages
Start here: https://xpqz.github.io/learnapl

or here:

https://xpqz.github.io/kbook

skruger··on Britain jumps into bed with Palantir in £1.5B defense pact
QinetiQ?
skruger··on PProlog: A Prolog for Plan 9
The author also wrote an APL for Plan9: https://apl.pmikkelsen.com/
skruger··on We should ask AI do coding tasks more efficiently, just for saving tokens
As to the training set's depth of APL, yes, it's an issue. However, it's worth seeing how well MoonBit[1, 2] works with LLMs, faced with exactly the same problem -- integrating the LLM directly into the parser pipeline.

1: https://www.youtube.com/watch?v=SnY0F9w1xdM 2: https://www.moonbitlang.com/blog/moonbit-ai

skruger··on Klong: A Simple Array Language
The learning curve isn’t steep. I’d argue the opposite. K is a tiny, tiny language. Put your mind to it, and you’ll be reading it just fine in a weekend. It’s just different. It’s optimised for its wheelhouse.
skruger··on Klong: A Simple Array Language
Here is a gentle start: https://xpqz.github.io/kbook/Introduction.html
skruger··on Solving LinkedIn Queens with APL
https://xpqz.github.io/learnapl/_images/threelamps.png
skruger··on Claude 4
Would you mind sharing what you did? stefan@dyalog
skruger··on Notation as a Tool of Thought (1979)
Thanks for saying that. I will update it at some stage for the new array notation stuff.
skruger··on Notation as a Tool of Thought (1979)
Should you ever decide to take that leap, maybe start here:

https://xpqz.github.io/learnapl

(disclosure: author)

skruger··on What about K?
That’s nice of you to say so.
skruger··on What about K?
How’s your Korean?
skruger··on What about K?
Yeah—true. I wrote it as “the missing manual” for ngn/k, enough to get someone over the initial hump. It’s not a “Mastering k” tome.
skruger··on What about K?
Depends. APL is the OG. Try a few and see what you like. If you learn one Iverson language, it's pretty easy picking up the others.

Here's a gentle guide to APL by the same author (me):

https://xpqz.github.io/learnapl/

Dyalog APL is likely the best supported in terms of tooling, debugging etc. If you're looking for static typing, you're in the wrong place.

skruger··on KlongPy: High-Performance Array Programming in Python
APL's use of 'monad' predates Haskell's existence by decades.
skruger··on Programming languages that blew my mind (2023)
APL is the perfect mind blower: https://xpqz.github.io/learnapl/intro.html
skruger··on Trap – Transformers in APL
It is Dyalog APL.
skruger··on APL Demonstration (1975) [video]
If you’re interested in learning APL, I wrote an intro for people coming from another language:

https://xpqz.github.io/learnapl

skruger··on Ramanujan's lost notebook
[reference needed]
skruger··on K/simple: a tiny K interpreter for educational purposes by Arthur Whitney
For people discovering k for the first time, I wrote https://xpqz.github.io/kbook as a gentle intro.
skruger··on k on pdp11
I’m happy to have contributed in some small way to growing the APL community. Thanks for the shoutout.
skruger··on Suggestivity and Idioms in APL
If you are interested in learning APL, take a look at https://xpqz.github.io/learnapl/intro.html

Disclaimer: author

Page 1 of 3Next →