APLcart – Find Your Way in APL

(aplcart.info)

54 points | by lelf 1626 days ago

4 comments

  • imglorp 1624 days ago
    APL aside, I really like this general presentation and ux of a cheat sheet.

    Dump out a table of a few thousand items, at most, and then narrow to relevant as the search box is filled. This would also work for APIs and CLI options, for example.

    I just wish the rows had some clickable elements leading to examples or maybe a live try it box in the case of an interpreted language.

  • jodrellblank 1624 days ago
    Incidentally, in the last month or two, Dyalog have made their APL interpreter available for non-commercial use with no signup and no regular nagware popups when using it, and no disabled features, it’s a simple download of the current version just reminds you that it’s unlicensed when launched:

    https://www.dyalog.com/

    (It used to be something you could ask for and exchange personal details for, if they agreed)

  • xvilka 1624 days ago
    I suggested[1] for someone well-versed in APL to add it on the Learn X in Y minutes site to attract more beginners, allowing the quicker dive. So if someone wants to do that - feel free ;)

    [1] https://github.com/adambard/learnxinyminutes-docs/issues/358...

  • geogra4 1624 days ago
    I played around a bit with J as a language and found it really lovely but unfortunately not really applicable to my problem domain (CRUD Enterprise Apps)

    I guess maybe some people are really in love with the symbolic notation of APL (vs J) but I would think it would be terribly limiting.

    • yiyus 1624 days ago
      Personally, I wish the APL ideas had been taken more seriously, not only as a programming language, but specially as an algebraic notation.

      I would like to be able to open any text editor and write formulas, and it is not a minor thing to be able to directly use those formulas to solve the problem in the computer. I can do that with J or K, but it does not feel natural at all when using paper or the blackboard, for example. On the other hand, I indeed love the APL symbols (you get used to them much faster than it may look) but, even although they are part of unicode, it is still much less convenient to use than ASCII.

      • NoodleIncident 1624 days ago
        (I'm not really familiar with the details of J, K, or APL)

        If either J or K is completely equivalent to APL, but uses words instead of symbols, then it might be possible to set up a program that replaces those words with the equivalent APL symbols.

        For this to work in any text editor, it would have to be a special keyboard/input, like how Japanese is spelled out in katakana and then converted to kanji. I'm not sure how hard that would be to set up. If a vim-only solution is good enough, then this could be accomplished using the "abbreviations" feature: http://learnvimscriptthehardway.stevelosh.com/chapters/08.ht...

        • yiyus 1624 days ago
          J and K generally use symbols instead of words, but what you said still applies. I have seen very similar solutions that allow to represent J with APL symbols, and it surely looks much better.

          But these solutions are far from optimal. The convenience of being able to write J with any hardware or software I get my hands on is huge. I can use it to write equations in emails, in my phone or tablet, in a windows computer with notepad as the only text editor. I cannot do that with APL. It's not too far, there are workarounds, but it is much less convenient.

          If you work with lots of formulas, you will understand the pain of practically needing paper or a blackboard to work with equations, then translate that to your favorite programming language to solve some problem, or to latex for publication. APL gave a wonderful solution to this, but it did not catch on.

      • geogra4 1624 days ago
        The notation I'm not sure of, but surely matrix based languages/extension like NumPy or R have kind of allowed similar modes of thinking about data/numerical programming?

        Using APL is kind of like a lightsaber.

        It's a more elegant weapon from a more civilized age.

        • yiyus 1623 days ago
          It allows the programming, but not so much the thinking. For example, I recently had a discussion about 3d rotations in a python program. We tried writing some python in the blackboard, but it did not fly and we quickly switched to standard algebraic notation, then we had to translate our results back to python. I would really like to have this kind of discussion in APL, and I would like to have it without needing any special hardware or software. I know I ask too much, but a man can dream!

          I like the lightsaber analogy.

      • 0xdeadbeefbabe 1624 days ago
        Would a special keyboard help that much?
        • yiyus 1624 days ago
          A special keyboard can hardly compete with the convenience of any standard keyboard.

          My issue is not to write APL in a personal basis; there are many tools for that. My problem is that it is not the standard. J and K solved that using ASCII. That is a very reasonable solution for a programming language but ASCII symbols are not, in my opinion, good enough to replace our current mathematical symbols outside of the computer. For example, I like the symbol ⍟ for logarithm more than the log() function, but I do not see myself writing ^. in a piece of paper or a blackboard, neither can I imagine school kids learning about logarithms with ^.

          In my ideal world, APL symbols would be so ubiquitous as other arithmetic symbols are today, so they would be part of standard keyboards. Instead, I am stuck with a mixture of ugly code and mathematical formulas that I have to write by hand or using something like latex. Taking into account how powerful computers are, I find this very unfortunate.

        • boomlinde 1624 days ago
          A special keyboard at least puts you in a situation where you can fall back on hunting and pecking until you get used to where they are at your own pace. An IDE could help imprinting what the symbols actually mean.