News for hackers. Stuff that matters.
Re:Rob Pike explains why every programmer should know about ... by corethree on Saturday August 19, 2023 @12:00PM (#37190078)
Possibly. It's wierd he's so enamored with apl which just seems to me like languages focused an algebra designed around arrays.

Algebra based designs can be formed around many data structures and many languages generalize this concept like Haskell. With Haskell you can create your own algebraic DSL around arrays and anything else you can think of. It seems he's enamored with the specific array instance of algebra based designs and unaware of how it's only one specific case of a general concept.

Re:Rob Pike explains why every programmer should know about ... by juliangoldsmith on Sunday August 20, 2023 @11:24PM (#37205117)
APL wasn't originally a programming language at all. Ken Iverson designed it as a mathematical notation to express and reason about computer algorithms. "Notation as a tool of thought," is how he thought about it. It was implemented as a programming language years after he created the notation in 1960.

An APL-like Haskell DSL could be interesting, but to match APL's expressiveness you'd basically need to reimplement all of APL. For maximum generality, one could just skip both APL and Haskell and just use the lambda calculus. I found that a bit hard to work with, though.

As far as Numpy and all, they are all directly descended from APL. The only difference is that it takes 10 lines of Python to match 15 characters of APL. While the array languages' terseness can be excessive, doing it in Python is not very pleasant either.

Anyway, here's somebody who knows more than I do talking about what they like about APL's successor, J: https://www.youtube.com/watch?v=RWYkx6-L04Q