Please disable your adblock and script blockers to view this page

APL ? A Glimpse of Heaven

AFAPL, Association Francophone

Dyalog APL
∇ (


Kenneth E. Iverson1920
Henri Sinturel
× Price


Aij Bjk



No matching tags



Gulf War

Positivity     47.00%   
   Negativity   53.00%
The New York Times
Write a review: Hacker News

But to describe the APL language, whether in 3 or 30 pages is as the whole wealth of APL. The first impression of APL is that of a hand calculator: It is characteristic of APL that it can operate simultaneously on two We have seen that APL works between two variables of the same shape; it also works between such variables and a single item, which is called a Iverson, therefore added to the set of all the usual symbols a number of new ones: The symbol for the function maximum returns the greater of two APL supports about 70 symbols. use of symbols as common as the minus sign, being used in two ways. The first form is called the dyadic use of the symbol. The second form is called the monadic use of the symbol. It is the same in APL, where most of the symbols can have two meanings. In APL, one gives the name vector to a list of values; which may matrix, and a single value, a number like 456.18 or In APL, the operation is written thus: The arguments of a function are data: Price × Qty carried out as there are symbols for functions (or program names!) to its In APL, the sole symbol / suffices to regularise all this notation! APL contains six mathematical operators in its most basic versions, and We want to calculate the average of the following numbers: In APL we prefer the name defined function to the name program. them so that they may be used in the same way as the symbols (+ - × It is often necessary to extract the first items from a list of values, This is why APL has been given the symbol ⍳ (iota), which produces the set of the first n One assigns to two variables the salaries and the categories of these APL makes much use of binary data. language we know of which has the six relational functions, represented Naturally one can operate on this binary data using all the functions of In fact APL offers all the functions of Boolean algebra, extracting from a variable the items conforming to a given criterion. For example, to display the salaries in Category 2, one writes: can be compared with a single value, one cannot write numbers in a vector, but it has some small problems we have not yet There is another way, which uses the dyadic form of the symbol Traditional computing languages do not handle tables of numbers. difference that might result from controlling the shape of the data. It is quite otherwise with APL, which offers many tools for working with show only examples based on vectors, but all the other shapes of data APL is also well endowed with functions which pivot data about any axis, and text data; as we are going to show by applying these functions to This operator is written thus in APL: Now imagine replacing the symbol for multiplication by any of a number of other functions, or programs which you could have defined yourself, and you will understand, as for reduction already encountered, that outer product is an operator of amazing power. All that without proper programming, and it works whatever the number of appropriate way to organise data in APL is to group it by type: one In data organised this way, the numeric information (salary, date of for APL. APL does it like this: one cuts the contents of the file into 11 When the number of people For example, to extract people with salary (variable SAL) variables by italic type.) The result might take the following form: Thanks to small functions (programs) like Select, Staff, program which works on a variable of 10 or 20 values will work just the the speed of development which makes APL a tool especially well adapted If APL were a specialist, complex language, it would only attract the really understood APL. they have frequently learned APL in isolation. 6 lines of APL, seem completely obscure to anyone who has never judging APL in the light of the opinions of people who have not been programs written in APL. To be honest, I must admit that APL has a number of new symbols, which the same for APL, it is necessary to learn it. C++ or PASCAL, so why not APL? knowledge of methods for organising data, and ways specific to APL, of

As said here by British APL Association