Could Numpy be considered the APL renaissance? Not in syntax, but conceptually?
What I'm craving is APL for TensorFlow...
21–30 of 123 posts
Could Numpy be considered the APL renaissance? Not in syntax, but conceptually?
What I'm craving is APL for TensorFlow...
APL will not be reborn. If that was going to happen, this century's embrace of analytics and linear-algebra-rich machine learning would have propelled the upswell. It didn't and it won't.
Why? It's not the symbols. Not the keyboard. Nor the learning curve. Nor the lack of standardization, libraries, or GPU support. These are collateral damage, not primary drivers.
APL will not flourish because it is effectively a DSL with archaic I/O capability. It is a nearly-pure functional programming language. It's primary domain is mathematics. Native GUIs, networking, the web -- all uncompetitive add-ons.
In this sense, APL and Haskell share some DNA.
For dynamic systems modeling for my thesis, I reached for APL and Matlab. I still code Dyalog APL for recreation. Love it. But I wouldn't build a web app with it and a wouldn't run my company on it.
If you want APL to be reborn make a version that supports GPU acceleration. That just might give it momentum enough to be used, a language that runs with the native speed of the GPU and that is easy to compose without having to fiddle with the details could be a winner. There is this: https://github.com/Co-dfns/Co-dfns But it's not quite it. As for the word 'deserve': computer languages don't really deserve anything,…
If you want APL to be reborn make a version that supports GPU acceleration. That just might give it momentum enough to be used, a language that runs with the native speed of the GPU and that is easy to compose without having to fiddle with the details could be a winner. There is this: https://github.com/Co-dfns/Co-dfns But it's not quite it. As for the word 'deserve': computer languages don't really deserve anything,…
I've felt that high-DPI touchscreens are the opportunity for an APL renaissance, if there's ever going to be one. Once hardware keyboards standardized around ASCII in the '70s, it cramped the promise of APL's custom notation. On touchscreen it's trivial to render a software keyboard that contains the entire symbol set (perhaps even adapted to the user's experience level to make it less scary initially?). Increased re…
That's a great idea. I can see it working in other languages as well, e.g., what Guy Steele and others were trying to do in Fortress.
I'd love for it to go more mainstream with a high performance open source implementation. Dyalog is pretty good, and I like J, but feel the missing symbol leaves something out. K/Q with kdb+ is too expensive, and the other open source array language implementations (Qnial, Klong, Kona, GNUAPL)are just not there.
How is GNU APL not there? It is standards compliant, 99.9% pure APL2 (per ISO standards), and is actively maintained (bugs and issues are usually turned around in a day or two). It performs quite well, and can be easily extended. I have even added memmap vectors to it to achieve even more performance (and to begin GPGPU integration). GNU APL also supports a library version (libapl.so) which allows APL2 to be incorpor…
I want to draw APL. Like with a stylus. That's pretty much how I'd want to use it, and the only way I'd bother. It's cool tech but it's general purpose appeal is nonexistent and there is already Julia and Matlab in technical computing space. If I could draw APL symbols and have some common libraries for JSON and Http and stuff like that, I could see a renaissance having enough steam to do something. Otherwise, it's o…
If you want APL to be reborn make a version that supports GPU acceleration. That just might give it momentum enough to be used, a language that runs with the native speed of the GPU and that is easy to compose without having to fiddle with the details could be a winner. There is this: https://github.com/Co-dfns/Co-dfns But it's not quite it. As for the word 'deserve': computer languages don't really deserve anything,…
...however, it is not easy. Full APL has a lot of features (like nested arrays) that are incredibly difficult to map to GPU execution. And in general, APL is not easier to map to GPUs than your bog standard Numpy-style matrix library (in fact it's harder, since Numpy only has regular arrays and simple operations).
[0]: I was involved in a project that targeted only a small well-behaved subset of APL, which was hard enough: https://github.com/henrikurms/tail2futhark
No, it does not. I used APL professioally for about ten years back in the 80's. I love the language. It is incredibly powerful. Once you internalize it's like playing the piano, you don't think about the mechanics you play music. However, the language did not stand the test of time for far more important issues than the inconvenience of the character set and the keyboard. And, no, J is not a successor to APL, even th…
Neat little tribute article. APL will not be reborn. If that was going to happen, this century's embrace of analytics and linear-algebra-rich machine learning would have propelled the upswell. It didn't and it won't. Why? It's not the symbols. Not the keyboard. Nor the learning curve. Nor the lack of standardization, libraries, or GPU support. These are collateral damage, not primary drivers. APL will not flourish be…