[HN Gopher] The APL Orchard
       ___________________________________________________________________
        
       The APL Orchard
        
       Author : lelf
       Score  : 57 points
       Date   : 2021-02-04 13:34 UTC (9 hours ago)
        
 (HTM) web link (www.dyalog.com)
 (TXT) w3m dump (www.dyalog.com)
        
       | kick wrote:
       | The SE chat is really worth lurking if you're at all curious
       | about APL; nearly everyone who has written a publicly-available
       | array language implementation who isn't dead or over sixty is
       | active on it.
        
         | bear8642 wrote:
         | To confirm, that Stack Exchange?
        
           | kick wrote:
           | Yes, the one mentioned in the post.
           | 
           | https://chat.stackexchange.com/rooms/52405/the-apl-orchard/
        
       | kick wrote:
       | If you're interested in recent developments in array languages, I
       | recommend checking out:
       | 
       | BQN https://mlochbaum.github.io/BQN/
       | 
       | ngn/k https://git.sr.ht/~ngn/k/tree/master/item/readme.txt
       | (Previous discussion:
       | https://news.ycombinator.com/item?id=22009241)
       | 
       | aplette, which is a modernization of Ken Thompson's APL (with a
       | LOT of projects in between them; Ken's APL interpreter -> ? ->
       | OpenAPL -> aplette) https://github.com/gregfjohnson/aplette
       | (Previous discussion:
       | https://news.ycombinator.com/item?id=21740536)
       | 
       | I'd also recommend checking out J, which isn't a recent
       | development, but has the best syntax out of all array languages,
       | has the best development environments, is the easiest to learn
       | (it has a way to learn it built into the language itself!), and
       | is the only one that treats making GUIs as a first-class feature
       | (and, also, critically, is not proprietary, unlike Dyalog):
       | 
       | https://jsoftware.com (Has so many previous discussions I just
       | recommend using HN search to find them.)
       | 
       | The chat is biased in favor of Dyalog APL, but a lot of the
       | modern additions Dyalog has made to the language make it (in my
       | opinion) worse as a notation, so ideally don't let it turn you
       | off of the concept of array languages entirely if Dyalog doesn't
       | "click" with you.
       | 
       | If you haven't already, you should also check out Notation as a
       | Tool of Thought, a paper so good it won Iverson the Turing Award:
       | 
       | https://www.eecg.utoronto.ca/~jzhu/csc326/readings/iverson.p...
        
         | jodrellblank wrote:
         | Dyalog clicks a lot more than J; "the best syntax"? "Easiest to
         | learn"? Can you expand more on these positions?
         | 
         | And " _a lot of the modern additions Dyalog has made to the
         | language make it (in my opinion) worse as a notation_ " this
         | one. I don't know when you mean modern but as a casual user, {}
         | functions, trains, nest [?], rank adjustment [?] (like J), seem
         | to make things more convenient?
        
           | kick wrote:
           | _" the best syntax"_
           | 
           | Yes, absolutely. By a long shot. For starters, J can actually
           | be parsed. (k can also be parsed, for what it's worth.)
           | 
           |  _" Easiest to learn"?_
           | 
           | Spend ten minutes using J's built-in Labs feature. Or read J
           | for C Programmers (also ships with the language), if you come
           | from a non-array background. Iverson was able to teach this
           | stuff to public school children in no time at all; modern
           | array languages seem to _deliberately_ make themselves obtuse
           | to outside observers. APL was doomed to obscurity because the
           | people making it decided to please existing customers rather
           | than try and make it approachable.
           | 
           |  _I don 't know when you mean modern_
           | 
           | Pretty much every APL2 feature and everything that came after
           | it that they didn't borrow from J.
           | 
           | While J has English control statements, they generally aren't
           | used, but nearly every time I come across something written
           | in Dyalog APL it's full of :If :EndIf and all sorts of
           | atrocious English words which mock the ideal of a better
           | notation than ALGOL.
        
             | mlochbaum wrote:
             | > J can actually be parsed
             | 
             | Don't know where you got that one. J source can't even be
             | tokenized except during execution!                 NB.
             | Compute n from reading a file of something       n : 0
             | Is this the source of a function, or a string?       )
             | 
             | Besides that, J has the same contextful issues as APL with
             | regards to the value of variables determining how the
             | syntax fits together. It's missing a few dark corners like
             | niladic functions, but these are small differences; it's
             | still fundamentally unparseable.
        
         | moonchild wrote:
         | > Ken's APL interpreter
         | 
         | To clarify, that is ken thompson, not ken iverson.
        
       | fuzzer37 wrote:
       | Serious question, are people still using this language (APL) for
       | anything serious? Or is it just a hobby language at this point. I
       | notice that Dyalog sells commercial runtimes for about $2500 a
       | year for Unix, so there must be someone.
        
         | [deleted]
        
         | kick wrote:
         | Morten Kromberg (big guy at Dyalog) in justifying why Dyalog
         | isn't libre, just a few days ago: _There is little risk of the
         | demise of Dyalog APL any time soon. Our customers run
         | businesses that are based on Dyalog APL with a combined annual
         | turnover in excess of a billion euros /dollars._
         | 
         | https://chat.stackexchange.com/transcript/52405?m=56860424#5...
         | 
         | There are a few other companies with proprietary APL
         | implementations that are also getting by really well.
         | 
         | k, which is pretty similar, is even more of a money-maker than
         | Dyalog APL, having been responsible for a company worth a
         | billion or more (Kx) and an entirely different company that
         | also seems to be doing pretty well.
         | 
         | J also is used somewhat commonly, though less, and its users
         | seem to be doing more than well, too (my current employer and
         | most of my previous employers have been J shops, and none of
         | them have gone under yet. I think a couple of them had record-
         | breaking years in 2020).
        
       | Bostonian wrote:
       | As a Fortran programmer, I found his comments on "Evolution, not
       | Revolution" to be interesting, including his argument for
       | retaining 1-based arrays :).
        
       | totemandtoken wrote:
       | I can't for the life of me find it again, but there was a youtube
       | talk an hn user posted in a thread about array based languages a
       | few weeks ago that basically showed a non-turing complete but
       | still powerful array processing language based on Iverson and
       | APL. I think it was developed specifically with streaming in
       | mind. It was a really cool DSL that showed how much you can do
       | without iterating over arrays.
       | 
       | It really kills me that I didn't save that talk. If I find it,
       | I'll try to remember to update this comment with a link. It was
       | kind of slick though.
        
         | moonchild wrote:
         | Gilead Bracha's rankshape?
        
         | Avshalom wrote:
         | https://tkatchev.bitbucket.io/tab/index.html
         | 
         | maybe? from this thread:
         | https://news.ycombinator.com/item?id=25090816
        
       | BenoitP wrote:
       | I feel like APL would really benefit from a shadertoy-like site.
       | 
       | It is an array language, an image is worth a thousand words, and
       | an array[3][2][500] is a square image.
       | 
       | It'd be fun to tinker with visual effects of an APL function, and
       | fun is a great way to fuel learning?
        
         | kick wrote:
         | http://beyondloom.com/tools/specialk.html
        
           | BenoitP wrote:
           | _Nice!_
           | 
           | I did search for something like this, but I guess my Google-
           | fu is not the best!
        
             | kick wrote:
             | He has a lot of really good blog posts and software toys on
             | his site and on itch. I recommend looking through them. He
             | also has a web comic that's pretty good, but he hasn't
             | updated it in a while.
             | 
             | http://beyondloom.com/blog/index.html
             | 
             | http://beyondloom.com/things/index.html
             | 
             | http://beyondloom.com/games/index.html
             | 
             | http://beyondloom.com/comic/page0.html
             | 
             | ('RodgerTheGreat on HN)
        
         | alaaalawi wrote:
         | This may be not colorful, but was definitely fun for me
         | 
         | https://youtu.be/tcix3IxaX3g
        
       ___________________________________________________________________
       (page generated 2021-02-04 23:01 UTC)