[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)