FinnAPL idiom library



The FinnAPL idiom library is a very valuable resource for APL programmers. It contains a collection of over 700 one-line APL idioms to achieve a large variety of tasks. It was first presented at the 1984 APL conference in Helsinki, Finland. The huge contribution of the Finnish APL Association is gratefully acknowledged.

This listing mainly suffers from two issues:
 * Due to its age, it don't make use of modern APL features which can provide a simpler solution. (However, simple-looking expression which uses nested arrays can be much more computationally expensive than a longer, more involved solution which only uses simple arrays.)
 * It can be hard to find what one is looking for, both because computing terminology has changed, and because pinpointing the exact term can be difficult.

APLcart includes all of the below library, updated to use the latest language features, and in an easily searchable format that includes modern day synonyms.

Interpreting an entry in the Idiom Library
As an example of how each entry in the library is arranged, consider the first idiom:

The entry includes a brief description of what the idiom does, which is followed by the expression  which specifies the types and ranks of the arguments:

A number following the type indicates the rank, e.g. Thus the idiom shown expects two character or numeric vectors,  and. It will find the index position of each element of  in , for example:

In this example, the first 'o' character in  occurs in at index position 13 in , the second one occurs at position 20, and the third and fourth 'o' characters are not present in.

For a more detailed description of how this particular idiom works, see this analysis by Bob Smith.