News for hackers. Stuff that matters.
Re:GNU APL 1.8 by vincent-toups on Sunday June 23, 2019 @12:35PM (#20256691)
"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.

Re:GNU APL 1.8 by triska on Sunday June 23, 2019 @01:09PM (#20256980)
A nice overview of a few interesting Dyalog extensions is Direct Functions in Dyalog APL:

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 ∇.

Re:GNU APL 1.8 by vincent-toups on Sunday June 23, 2019 @01:43PM (#20257279)
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.