HMW Computing
We solve your IT problems. Simple as that.
What is APL?


4XTRA
is the site for our Joint Venture

AccessOffice
is our business wiki

EveriWare
is our web hosting arm

Try This Out
is our testing and Demonstration website for Web 2.0 applications

Stonebell
we have merged several blogs into one
Much of HMW's work is the the Agile, Array Programming language, APL. For those of you who don't know much about it, we've prepared a page or two of basic information and pointer sto the most important resources
You want to know what's so good about APL? How about Conway's Game Of Life as a single APL expression? Just watch this...
Some Background
The following is from Why APL? on the SigAPL site, which is part of the ACM:
The language was invented by Kenneth E. Iverson while at Harvard University. The language, originally titled "Iverson Notation", was designed to overcome the inherent ambiguities and points of confusion found when dealing with standard mathematical notation. It was later described in 1962 in a book simply titled "A Programming Language" (hence APL). Towards the end of the sixties, largely through the efforts of IBM, the computer community gained its first exposure to APL. Iverson received the Turing Award in 1980 for this work..
APL is a useroriented notation, particularly well suited for communication from people to other people or to computers. The notation consists of a set of symbols (letters, numbers, punctuation, algebra, and special shapes), with a very simple set of rules (syntax) for putting them together to describe the processing of data. The data can be either numeric or literal (which includes words and text handling).
In fact there are about a hundred different "primitive" (i.e. fundamental to APL) operations which can be performed. This can be compared to having a calculator with over 100 different function keys.
I have listed every APL dialect and related array language I can think of and a fair number of APL Resources, all the user groups and forums I can find and could try to make a comprehensive list of APL web sites, but with the typical economy of effort expected of an APLer or agile developer, this is an adequate, working list, �but not a definitive one.