Things are tough right now ...

They're tough for everyone :( But when coronavirus hit here in the UK, the museum had to close its doors to the public, and we lost practically all our income overnight.

Please Donate Via Just GivingNo visitors, no workshops, no events, no school visits... no income. We know that things are tough for everyone right now, but if you can afford to help us through these tough times please donate what you can.

Stay safe, stay at home! There's over 36,000 exhibits here! That should keep you occupied for a bit - get searching!

Or come and get involved on our social media channels ...

        Twitch   Facebook             Online Gift Shop   

Thank you.

APL (A Programming Language)

APL (A Programming Language) is an array programming language based on a notation invented in 1957 by Kenneth E. Iverson while at Harvard University. It originated as an attempt to provide consistent notation for the teaching and analysis of topics related to the application of computers. Iverson published his notation in 1962 in a book titled A Programming Language. By 1965, a subset of the notation was implemented as a programming language, then known as IVSYS. Later, prior to its commercial release, APL got its name from the title of the book. Iverson received the Turing Award in 1979 for his work.

Iverson's notation was later used to describe the IBM System/360 machine architecture, a description much more concise and exact than the existing documentation and revealing several previously unnoticed problems. Later, a Selectric typeball was specially designed to write a linear representation of this notation. This distinctive aspect of APL, the use of a special character set visually depicting the operations to be performed, remains fundamentally unchanged today.

The APL language features a rich set of operations which work on entire arrays of data, like the vector instruction set of a SIMD architecture. While many computer languages would require iteration to, for example, add two arrays together, functions in APL typically deal with entire arrays at once. In conjunction with a special character set where glyphs represent operations to be performed, this drastically reduces the potential number of loops and allows for smaller, more concise and compact programs.

As with all programming languages that have had several decades of continual use, APL has evolved significantly, generally in an upwards-compatible manner, from its earlier releases. APL is usually interpretive and interactive, and normally features a read-evaluate-print loop (REPL) for command and expression input. Today, nearly all modern implementations support structured programming while several dialects now feature some form of object oriented programming constructs.
APL Plus
APL Plus PC System Disks and Manuals
Proceedings: The Information Centre and Changing Technologies: 1984 APL Users Meeting Oct. 15-17 Toronto, Canada

Help support the museum by buying from the museum shop

View all items

Founding Sponsors
redgate Google ARM Real VNC Microsoft Research
Heritage Lottery Funded
Heritage Lottery Fund
Accredited Museum