[kwlug-disc] Off Topic: APL

doug moen doug at moens.org
Sat Jan 20 15:59:23 EST 2018


I wrote a 3000 line APL program when I was a kid, for a school assignment.
I didn't have the math, or the skill, to write a shorter program.

What I didn't like with the language, then, was dynamic scoping, and the
old style of function definition using conditional and unconditional GOTO
as control structures. This was the 1970's.

The language has improved a lot. "Direct functions" now let you program in
a functional style.

I got interested again when I saw this:

https://news.ycombinator.com/item?id=13797797

It's a 750 line APL program; an optimising compiler for modern APL that
emits GPU code. The technology staggers me. To reproduce this in C++ would,
for me, probably require 40,000 lines of code. Except that this compiler
runs on a GPU, a feat no one else has accomplished. It's something you can
only do in APL.

On Saturday, 20 January 2018, Khalid Baheyeldin <kb at 2bits.com> wrote:

> Wow!
>
> That brings memories.
>
> In the mid 1980s, I was part of a team to implement an information system
> on a mainframe. The mainframe did not have any data entry method, so the
> branches would use a PC with a COBOL application on it to enter the data
> and store it on 5.25" diskettes. A driver would collect them and take them
> to the data centre where they were uploaded to the mainframe.
>
> The guy who wrote the COBOL application for the PC was a seasoned
> mainframe veteran from Alabama and was frustrated by the lack of tools on
> the PC. So he used a PC version of APL, and its internal full screen editor
> to edit the COBOL source code, and then wrote some custom APL to reformat
> it correctly. That was amazing.
>
> It was fascinated by how APL did not use ASCII letters for directives, but
> rather mneumonics that looked like playing card symbols. Also the sheer
> power of that language/platform.
>
> On Sat, Jan 20, 2018 at 11:10 AM, <jvj at golden.net> wrote:
>
>> Going OT with the ancient IBM stuff.
>> I skimmed past the S/38 and As/400 and know very little about those
>> machines.
>> AFAIK The VM capability would let system developers define target systems
>> somewhat different than the system used for development.
>>
>> As a student (circa 1972) I ran Fortran card deck assignments and
>> personal APL stuff on the 360 aka 360 sickly.
>> A grad student created an APL system function that would read a text
>> matrix as a text file containing a card deck.
>> When I used this APL function to run Fortran assignments I noted that my
>> jobs would bump above other jobs submitted by people who had been standing
>> in line for the card deck reader.
>> APL - as an interactive subsystem on the 360 - had a higher system
>> priority than other jobs, e.g. compiler, assembler, etc.
>> My lowly Fortran jobs, submitted through APL, inherited the APL priority.
>>
>> JohnJ
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://kwlug.org/pipermail/kwlug-disc_kwlug.org/attachments/20180120/9ea384af/attachment.htm>


More information about the kwlug-disc mailing list