
GNU APL 1.8 - lelf
https://lists.gnu.org/archive/html/info-gnu/2019-06/msg00008.html
======
vincent-toups
"There are a number of features related to lambdas that are present in other
APL interpreters but that are NOT implemented in GNU APL. This includes
multiple statements, guards, lexical scoping, and probably more. "

The absence of lexical scope is a big wart for me. I'm fairly familiar with J,
having used it to do some Bayesian inference for some projects at work, and I
eventually concluded that the language family is malformed, in part because of
the absence of lexical scoping.

Seems like Dyalog APL does have this feature, which makes me want to take a
look at it.

~~~
triska
A nice overview of a few interesting Dyalog extensions is _Direct Functions in
Dyalog APL_ :

[https://www.dyalog.com/uploads/documents/Papers/dfns.pdf](https://www.dyalog.com/uploads/documents/Papers/dfns.pdf)

For example, you can write {expr} to introduce a Direct Function (dfn), where
_expr_ is an APL expression in which α and ω represent, respectively, the left
and right argument of the dfn.

Dfns also support local definitions, and recursion with ∇.

~~~
vincent-toups
Looks neat. After using J for awhile I've come to dislike the who monad/dyad
thing. It must be an old Lisper thing, but I wish there was just a regular
argument list and all the arguments had the same semantics.

I know in J you can used an array of boxed objects to "simulate" "normal"
function definitions except that you don't get the rank behavior for those
argument lists. Nothing prevents a language from having "normal" functions and
also being able to support rank on each argument.

------
SwellJoe
Googling for APL examples is now complicated by Amazon squatting on the same
acronym for "Alexa Presentation Language". That's frustrating, as I'm
interested in understanding APL a bit better, but I learn from looking at and
tinkering with code that does things I already kinda understand how to do in
other languages/paradigms.

But, I did find APL Wiki which has a lot of good examples of code that does
small comprehensible things.
[https://aplwiki.com/FrontPage](https://aplwiki.com/FrontPage)

~~~
bin0
I'd give "-alexa -amazon -presentation" a shot; see if that helps. Also maybe
add "-site:amazon.com" or "-site:*.amazon.com" (pretty sure that one works).

------
sizzzzlerz
When I was a young lad, the ink on my EE degree still wet, I worked with an
older gentleman with a PhD, who used APL on an exotic computer with what
looked to me like Sanskrit symbols (or space alien, for all I knew) on the
keys. He gave me a couple tutorials but I never could wrap my brain around it.
I lost interest and hadn't heard anything about APL for decades until now.

I am curious how the symbols used in the language are mapped onto a standard
keyboard. Also, does anyone use APL in battle or is it mostly an academic toy?

~~~
Vivtek
Languages descended from APL are _very_ popular among the financial
engineering set.

~~~
xvilka
Do you have any examples or links to confirm that?

~~~
jjtheblunt
look up arthur whitney and kx.com, and their Q language for their kdb+
database. Various opensource versions are active.

~~~
Volt
There's no open source version of kdb+.

------
triska
Wow, each of ⎕FFT, ⎕GTK and ⎕RE are substantial and impressive additions!

Thank you, and congratulations on the new release!

~~~
agumonkey
slight digression, trying to find the repo source I went up
[https://lists.gnu.org/archive/html/info-
gnu/2019-06/threads....](https://lists.gnu.org/archive/html/info-
gnu/2019-06/threads.html#00008)

lots of releases, gnu is kicking hard

~~~
NikkiA
End of the academic year, makes sense that you'd see a cluster of releases as
people wrap-up their research projects and merge their code into various
projects.

------
thomasfedb
I first noticed APL when some mates used is as a trump card in code golf. I
find it both intimidating and strangely beautiful.

~~~
Lt_Riza_Hawkeye
APL can do some pretty cool stuff:
[http://0x0.st/scHG.webm](http://0x0.st/scHG.webm)

------
6thaccount2
I'd like to play with this as it is a free APL that I could use for work
without paying a license (like Dyalog APL requires). J is another free array
language, but it doesn't use the APL characters that I enjoy.

I've had a little trouble in the past getting it to install (this was version
1.7) on Ubuntu. Granted I've never been an expert at installing from source,
but a more in-depth installation guide or YouTube tutorial would help some.

Thanks for doing this btw! I hope to eventually get to check this out!

~~~
lokedhs
What did you have problems with? I wrote the Emacs integration for GNU APL
that provides a decent environment for it. All you have to do is to compile
and install GNU APL from source, followed by loading the Emacs Lisp code.

I created a video showing how it's used. Sorry for the poor quality. I
originally planned to make a new one, but I have been working on different
projects since then:

[https://www.youtube.com/watch?v=yP4A5CKITnM](https://www.youtube.com/watch?v=yP4A5CKITnM)

~~~
6thaccount2
Thanks for the video! I'll give it a go in a few days when I'm done with a
work conference.

I tried following the provided instructions in the install guide a few months
back and it didn't work out. I can't remember any useful information (sorry),
but have a new Linux computer now that might work better. It seems like a
pretty cool project! Thanks for all the work you put into it!

------
haolez
If I pick up an array language to ramp up on 2019, should I start with APL or
J? I know that both of them were created by the same person, and that J is
supposed to be an evolution of APL’s approach, but I don’t know if it would
make a difference to a beginner like me. I kind of like the weird charset :)

~~~
coliveira
I think the open source version of J is more mature and has a larger
community. It also has a lot of support packages that are not available for
open source APL. If you are trying to write real-life projects, J seems to be
a better option at this time.

------
delish
I have a high opinion of GNU APL though I've never used it, from the
discussion of GNU APL 1.7's release:
[https://news.ycombinator.com/item?id=13904688](https://news.ycombinator.com/item?id=13904688)

------
garyrob
I did my Senior Project for my B.A. in math in APL back in 1978 because it was
the only language I had available to me on a functioning machine. I loved it,
because it was infinitely more concise than writing in System 360 assembly,
which was the only other language I had taught myself! I particularly enjoyed
writing entire programs for class in one line, which was frequently doable in
APL. The problem was that that capability encouraged you to write "write-only
code". It was very easy to write, but... :) Never used APL again, and now care
a lot about readability, but I certainly look back at that time fondly!

------
devbat8712
The creator of APL was actually originally from my town. Unfortunately that's
the only interesting thing about my town.

Cool language though, the use of symbols as keywords is... Interesting, but a
neat idea

------
beagle3
iKe+oK is a processing-like environment that runs in the browser based on K,
which is an APL dialect:
[http://johnearnest.github.io/ok/ike/ike.html?gist=149c2eafcf...](http://johnearnest.github.io/ok/ike/ike.html?gist=149c2eafcfda7f7a334f38e93b579831)
is a fun example, and is a good example of how compact and expressive K (and
APL and the rest of this family) is.

