[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNU APL versus 'tacit' style

From: Chris Moller
Subject: Re: GNU APL versus 'tacit' style
Date: Wed, 24 Feb 2021 16:22:35 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0

There's another language, J, created by the same guy who created APL, that's very APL-like but does have trains, forks, hooks, and so on.  I've looked at it in detail and concluded that while APL has a bit of a reputation as a write-only language, adding various tersifying constructs only makes that worse.  APL does indeed have a bit of a steep learning curve, but I found J to be worse--though I have to admit that the 40-year gap between my introductions to, respectively, APL and J may have been a factor in that.

So far as I can tell, there's little if any performance advantage to be had by the use of tacit programming.  All it really seems to do is make your code look more mysterious--and therefore cooler--but at the expense of being harder to debug.

On 2/24/21 3:30 PM, Russtopia wrote:
What is the general consensus among GNU APL users here on the newer 'tacit style' that seems so prevalent in many online APL resources nowadays? ('forks', 'trains', etc.)

As a new, inexperienced APLer, exploring a bit more with GNU APL, I wonder if it discourages people new to APL to find, as I have, that so many resources online appear to be quite Dyalog-focused so the examples do not work as presented within GNU APL.

I am aware that GNU APL is an 'APL2' implementation for the most part, which is fine by itself and I think it is important to have this open-source, free implementation. However it concerns me somewhat that newcomers to GNU APL may be discouraged to find so many examples online that are incompatible.

Perhaps if I were myself experienced enough, I would write a GNU APL equivalent to the 'APL cart' (aplcart.info) with a focus on translating common idioms from 'tacit style' to APL2 style. (Indeed, perhaps such resources exist and I apologize if I have merely not encountered them yet. I have yet to study in-depth the older 'Finn APL idiom library' and similar).

As for adding tacit style to GNU APL, I do not advocate one way or the other, as I do not have sufficient experience for an informed opinion. How much value would the 'tacit' syntax bring to GNU APL? Would it even be possible to add without breaking APL2 conformance?

I also see a lot of usage online of 'guards' within lambdas which GNU APL seems to lack -- would the language benefit from adding support for that or would many of you say it is just 'syntactic sugar'?

Just some thoughts from an APL newcomer. I enjoy it, and am grateful to Dr. Sauermann et al. for their hard work.


Attachment: OpenPGP_0xDA6C01938888083E.asc
Description: application/pgp-keys

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]