Hacker News new | comments | show | ask | jobs | submit login
GNU APL 1.7 Released (gnu.org)
127 points by Avshalom 102 days ago | hide | past | web | 28 comments | favorite

> All bugs reported before Mar. 17, 2017 were fixed.

Irrespective of how many bugs that are and how severe they are, I love the mentality embedded in such a statement.

Seeing bugs live in bug trackers for years is depressing.

Except for if the fix is 'wont-fix'.

wont-fix is better than ignored for years.

GNU APL is unusually polished considering how obscure it is. When I was first looking for a free APL implementation some years ago, it took me quite a while to find it via search engines. It also doesn't seem like it's very visible in the APL community itself.

In fact, my only criticism is that it is a bit awkward to write simple Unix-style programs. The APL interpreter quite resisted being used in batch mode, and needed special flags to avoid launching background daemons or being chatty on the standard output streams. That was a few years ago, though - I wonder if it's been fixed.

Edit: looks like the search engines are much more favourable to GNU APL nowadays.

I agree with the difficulty in writing standalone programs. However, this is not the main use case for APL. You should think of it more as an alternative to something like R, which also isn't normally used to develop arbitrary standalone programs.

I use GNU APL as a smarter calculator, allowing to me manipulate datasets in a very flexible way. The programs I write a small utilities that I user interactively.

That said, the FILE_IO workspace provides access to low-level OS access. It can be a bit cumbersome to use, but it's good for building higher-level abstractions. As an example, last year I made an APL submission to Google Code Jam and while the solution to the problem was a single line of code, reading the data file and writing the output was significantly more.

APL is a language that confuses the hell out of me, and I hate that. I wish there was more guidance online to using it, since I find the paradigm to be very interesting.

I wrote a piece on GNU APL a little over a year ago. Maybe you'll find it helpful: http://curtisautery.appspot.com/5776042744610816

Dyalog has a pretty good (and long) tutorial [0] that I'm slowly working through. Most of it works in GNU APL.

[0] https://www.dyalog.com/uploads/documents/MasteringDyalogAPL....

Try parsing it. Parenthesize and then replace all arcane symbols with words you understand. It is a beautiful language when it all clicks.

There's a few talks and demo sessions on youtube, they help tremendously to decypher the structure and logic behind APL.

I think this is a good youtube video for someone starting from zero:


An issue is how to enter the symbols. The way I do it is I created some input methods for Mac and Windows which use at-signs followed by the APL community name for the symbol:

    @times       ×
    @grade       ⍋ 
    @reverse     ⌽
    @domino      ⌹

I've a theory that APL might become increasingly attractive as touchscreen computing matures (part of the theory is that touchscreen computing is not mature).

Support for just about every programming language (e.g. https://www.gnu.org/software/apl/Community.html#EMACSMODE) is one reason why I found learning Emacs to be worth the effort.

>I've a theory that APL might become increasingly attractive as touchscreen computing matures

At best it might become increasingly MARGINALLY more attractive.

I don't see your point.

That while a new keyboard technology like touch surfaces that allows people to have the APL glyphs at their disposal will help increase adoption a little, APL will always remain a niche language.

It's not the "being able to type in the glyphs" that hurts it, as much as the reading them -- and the understanding of its concepts.

as I say below I agreed with the change of interface impacting user perception of apl.

I use a HP48 pocket calculator, that comes with Lisp/Forth (RPL to name it) system. The interface is live interaction with a stack and a bunch of direct screen shortcuts.

I felt it was almost as fun as using emacs with a good lisp configuration. All this with a handful of keys and one level deep keyword folders. I'd bet a dollar that the same thing with an APL system would make people enjoy the language right away.

I did not say what you are arguing over.

"I've a theory that APL might become increasingly attractive as touchscreen computing matures (part of the theory is that touchscreen computing is not mature)."

Ah, everything.

I second this.

The J documentation is pretty great if you want to stick to ASCII.

Never tried it, but I love the concept. Saw some video, and it's amazing for what it is.

Sweet! How many people are contributing?

A handful of people only. Jürgen Sauermann is the main developer. Others, such as myself have provided contributions. I'm behind the Emacs integration as well as the SQL support.

The mailing list[1] is a great place to follow the development. If you have general APL questions, the members are usually happy to answer those too.

[1] https://lists.gnu.org/mailman/listinfo/bug-apl

Thanks for the SQL support. That is always nice!

My first language back in 1970, then if you wanted to 'program' you had a choice, punch cards and use ASM or Cobol/Fortran, or use a selectric typewriter and do APL.

APL is a natural language for those who love math, however without the correct keyboard with APL fonts labeled on the keyboard I would think it to all be tedious. In 1986 there were some companys selling APL for IBM-PC's, and the SW included some stickers you could apply to your keyboard so you could know where to type the APL characters.

Most of the APL variants I saw on UNIX 1980-2000, used a terrible encoding system for using the APL font.

APL in many ways is like PYTHON of today, fast and powerful, back in the day even Tektronix offered a graphics terminal ( 1970 ) that let you code APL and generate graphics instantly not unlike what you can do today. The nice thing about APL is that all types and maxtrix/scalar/vector op's are taken care for you, you never had to worry about types.

In many way's APL with the proper keyboard is much better that what we have had ever since.

Around the Wheel we go as they used to say. Not unlike a hamster in a cage.

Well, you still have it. GNU APL is there, and you really don't need a dedicated keyboard. It didn't take me long to learn the layout, and the Emacs mode provides a shortcut that pops up a picture of it to help you learn.

Also, all modern APL implementations use Unicode, which contains all the APL characters so there is no need to mess with special fonts something like that.

I'm primarily a python guy and the graphics in APL appear to be much simpler to use.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact