Try APL in your browser
tryapl.org
tryapl.org
(The "Try APL on-line" http://tryapl.org/ is linked from the Quick Links there)
For anybody who didn't read any APL tutorial and who doesn't want to follow it step-by-step now, the video is a good introduction.
Even shorter introduction is the program that prints the multiplication table, the picture from their site:
http://www.dyalog.com/uploads/images/homepage/TimesTablesW.p...
The whole program is on the left, the output on the right.
Thanks jboggan.
Sadly yet amusingly, the same thing happened before: https://news.ycombinator.com/item?id=4090097.
https://en.wikipedia.org/wiki/APL_(programming_language)
I got into APL for a while at Caltech in 1969, a year after I started programming. After the more verbose languages I'd learned (BASIC, Algol 60, and a couple of assemblers), it was fun to see how much could be done with so little code.
We had one of the IBM 2741 Selectric terminals with the APL keyboard and typeball, which made editing code a lot easier!
https://en.wikipedia.org/wiki/IBM_2741#/media/File:IBM2741.J...
I think it was much newer, and more similar perhaps to haskell with latex for syntax, than APL. I remember the language was hosted in a trac[1] instance, and I believe it was a research project from a major US college, maybe Cornell?
Does anyone have any idea what I might be (almost) remembering?
I've tried searching, but I don't think it was a "show hn:", and either way, looking through all programming languages submitted to hn is a bit of a daunting task...
[1] trac.edgewall.org
[1] https://en.wikipedia.org/wiki/Fortress_%28programming_langua...
http://www.se-radio.net/2006/11/episode-36-interview-guy-ste...
https://news.ycombinator.com/item?id=9750742
From the article in the above link:
>"The reason for wanting a definition for zero divided by zero is given by Falkoff and Iverson in The Design of APL as "it was deemed desirable to avoid an error trap in this case."
I think that both decisions are crazy. Any calculation that leads to division by zero is indicative of a conceptual problem, and the user should be alerted to this by an explicit declaration of error, not silent failure. I guess that this is mitigated by the fact that the languages are intended to be used interactively by individuals who know what they are doing.
As an alternative to the expensive, proprietary implementations of APL, one can also try NARS2000, which is a free, open-source, ISO/IEC 13751 Extended APL.
gnuapl is also FOSS :)
NARS2000 comes with a pretty IDE.
I've written a (buggy, incomplete!) K interpreter I call oK which similarly runs in your browser: https://github.com/JohnEarnest/ok
Here's a nice little program which calculates terms of the "look-and-say" number sequence:
http://johnearnest.github.io/ok/index.html?run=%2010%7B%2C%2...
And another rather infamous example program:
http://johnearnest.github.io/ok/index.html?run=%20%7B(x%3B%2...
I don't know much J, but my understanding of K is that it simply maps APL's functionality onto ASCII - and imo this transformation doesn't impact notation, especially once you have spent a decent amount of time reading it.
https://play.google.com/store/apps/details?id=gemesys.keybrd...
https://play.google.com/store/apps/details?id=com.athoraya.a...
is a much better, modern, apl keyboard