
GNU APL 1.3 - lelf
http://lists.gnu.org/archive/html/bug-apl/2014-03/msg00179.html
======
brudgers
About Ken Iverson, author of APL, who was at age 84, working on J when hit by
a fatal stroke:

 _Ken didn’t get tenure at Harvard. He did his five years as an assistant
professor and the Faculty decided not to put him up for promotion. I asked him
what went wrong and he said, “Well, the Dean called me in and said, ‘the
trouble is, you haven’t published anything but the one little book’”._

 _The one little book later got [him] the Turing Award.:_

[http://www.computerhistory.org/atchm/the-apl-programming-
lan...](http://www.computerhistory.org/atchm/the-apl-programming-language-
source-code/#A-Short-Biography-of-Ken-Iverson)

------
wyc
If you're interested in getting a taste of APL while keeping in ASCII, you
might want to check out the J programming language. Ken Iverson (the creator
of APL) had a hand in its development. J implements most APL operators and is
sometimes known as its successor, along with K and Q.

Get started here:
[http://www.jsoftware.com/help/learning/contents.htm](http://www.jsoftware.com/help/learning/contents.htm)

This family of languages really leads to a new way of thinking, evident in the
J incunabulum (the C interpreter that started J, purportedly written in one
afternoon) [1]. The code looks really dense and borderline gibberish at first
glance, but I found it very expressive after a good read.

[1]:
[http://www.jsoftware.com/jwiki/Essays/Incunabulum](http://www.jsoftware.com/jwiki/Essays/Incunabulum)

~~~
minikomi
Whenever APL and it's ilk are discussed I tend to wonder, other than project
Euler, what are good "little problems" to start getting your feet wet?

~~~
avmich
I decided once to write a C preprocessor in a clean C. Some weeks and 5000
lines of code later, I had many features of it done except functional macro
resolution. By that time I've got substantially tired with manual memory
management. So I shelved the project.

Then I started learning J, and after some time decided to implement a project
in it. After some months I've got working an LR parser generator. I've got so
impressed with J convenience - the whole thing was about 700 lines, majority
of that was comments and I was writing really simple J, as I was just learning
it. You can check out some preliminary notes about parser generator building
(only the beginning of the process) here -
[http://www.jsoftware.com/jwiki/AlexMikhailov/Parsing](http://www.jsoftware.com/jwiki/AlexMikhailov/Parsing)
.

I think J could be much better - by certain criteria - suited for many real
projects. And I have other examples as well.

~~~
minikomi
Thanks for the comment! I'll have a look at the link.

------
gfosco
My favorite example of APL:
[https://www.youtube.com/watch?v=a9xAKttWgP4](https://www.youtube.com/watch?v=a9xAKttWgP4)

~~~
notimetorelax
I'm quite amazed how the author has not made any mistake in the presentation.
I wonder if using APL leads to a different state of mind where tool is out of
your way or was it simply a well rehearsed demo?

~~~
sz4kerto
It does. I programmed in an APL 'derivative' (Q) for a while, it's quite easy
to get the hang of it. The problem is that it's write only.

~~~
keithpeter
[https://github.com/kevinlawler/kona](https://github.com/kevinlawler/kona)

Kona is free and would give people a flavour of this style of programming
(minus the database tools).

[http://www.jsoftware.com/](http://www.jsoftware.com/)

J is mentioned by another poster below (EDIT)

Grandparent post: if you are half a bagel and a housebrick, this stuff makes
me feel like a few grains of sand and a peanut.

------
mjn
Very interesting. I didn't know a GNU APL existed. Looks like it's a quite
recent, from-scratch implementation mainly by one author, with its first
release only a few months ago, in September 2013:
[http://lists.gnu.org/archive/html/info-
gnu/2013-09/msg00014....](http://lists.gnu.org/archive/html/info-
gnu/2013-09/msg00014.html)

The author, Jürgen Sauermann, doesn't seem to have a web-presence; would be
curious what else he's up to, besides singlehandedly launching a new APL
implementation. Is it a hobby project? Motivated by an existing APL codebase?
Part of a research project? He must have quite some experience with APL, since
he wrote a PhD thesis on a parallel APL system 25 years ago:
[http://genealogy.math.ndsu.nodak.edu/id.php?id=63307](http://genealogy.math.ndsu.nodak.edu/id.php?id=63307)

------
davorb
Just in case anyone is interested, Unicomp is still selling APL-keyboards and
keys (for Model-Ms). [http://pckeyboard.com](http://pckeyboard.com)

~~~
protomyth
direct link
[http://pckeyboard.com/page/Buttons/USAPLSET](http://pckeyboard.com/page/Buttons/USAPLSET)

------
baruchel
You can try GNU APL 1.3 with my online compiled-to-javascript version (I used
emscripten for compiling it):
[http://baruchel.hd.free.fr/apps/apl/i/](http://baruchel.hd.free.fr/apps/apl/i/)

The page is customizable with 5 colours: try
[http://baruchel.hd.free.fr/apps/apl/i/#c=0000001E2C3363A209F...](http://baruchel.hd.free.fr/apps/apl/i/#c=0000001E2C3363A209F3F3F3D7D5D5)
(you will probably need to force reloading the page) or
[http://baruchel.hd.free.fr/apps/apl/i/#c=4E525D687389ECEAEDF...](http://baruchel.hd.free.fr/apps/apl/i/#c=4E525D687389ECEAEDF5AB0EB5B8BF)

(choice of 5 colors from Adobe Kuler website).

------
derwildemomo
Am I the only one who thought they just released an updated version of a
license?

~~~
sadris
That's what I was thinking (confused) until I read your comment...

------
srean
So does this require special a keyboard ? How does inputting those special
symbols work. Are APL's typically JITed ?

~~~
gfosco
You can use a standard keyboard, if you learn the mapping or get key caps.
[http://www.rexswain.com/aplkeyb.gif](http://www.rexswain.com/aplkeyb.gif)

------
sbmassey
APL and vim have a similar outlook in that they both give their users a set of
simple, easy to apply, and composable functions, that can then be used, in the
hands of experts, to manipulate their underlying data structures with awesome
suppleness.

~~~
bsg75
Watching the vid linked by gfosco I was wondering this myself. It is an
interesting comparison.

------
webkike
At first I thought this was referring to the Affero Public License, and thus
was extremely confused.

------
DonGateley
This would be cool if you weren't required to be a build tools dojo to use it.
Windows binary please! Complete working stand alone binary. Then it might make
an impact.

~~~
leoc
Core GNU seems to often be quite passive-aggressive about its Windows support.

~~~
_quasimodo
I think it's part of their philosophy. They don't want to encourage people to
use a non-free operating system.

edit: also, supporting windows is a lot of additional work

~~~
_delirium
> also, supporting windows is a lot of additional work

Yeah, GNU tools are generally written to assume a Unix-like environment. As a
result it's relatively easy to port them to anything Unix-like (the BSDs, OS
X, etc.). On Windows, Cygwin provides a Unix-like environment, so it's
relatively easy to port things to there as well. But to making things work on
"native" Windows requires a bunch of Windows-specific porting. That isn't
impossible (e.g. GNU Octave has a Windows port), but it requires there being
Windows developers interested in volunteering to do it.

