50 Years of APL
L01: The Way We Were summary | video (38 mins)
Roy Sykes, Sykes Systems (U.S.A.)
APL and Its Milieu in the 1970s: How APL developed as a computer language in its formative years, and the environment in which it thrived.
L02: 50 Years of APL Datatypes: From Booleans to Hypercomplex Numbers summary | slides (URL link) | video (39 mins)
Bob Smith, Sudley Place Software (U.S.A.)
A personal view of the growth of APL through its datatypes. Some of the major datatype ideas of the last 50 years include:
- Booleans
- Nested arrays
- Unicode characters
- Arithmetic Progression Arrays (extending APVs)
- Multi-precision Integer/Rational numbers (extending 64-bit Ints)
- Multi-precision Floating Point numbers (extending 64-bit Floats)
- Hypercomplex (complex, quaternion and octonion) numbers which provide a natural extension of the real (one-dimensional) numbers to two-, four-, and eight-dimensions. The coefficients of these numbers are all either 64-bit integers or floats, or multi-precision integer/rational or float (twelve new datatypes altogether).
- Shared variables
- Namespaces
- Object oriented programming
In short, although the major leaps in the last 50 years of APL are often described in terms of language ideas (new functions and operators) and implementation improvements (smaller, faster), Bob sees the most important driving force as new datatypes.
L03: Zoo Story: How the I.P. Sharp APL Development Group Got its Name summary | slides (PDF) | video (30 mins)
Robert Bernecky, Snake Island Research (Canada)
The I.P. Sharp Associates APL timesharing system was already operational when Robert was hired at IPSA in early 1971; he tells the tale of how he became part of the APL Development Group, how the Group became known as The Zoo and relates some of the development work that was done there in the early 1970s.
L04: Dyalog Implementation – The Early Years summary | video (45 mins)
Stephen Taylor, Equiniti Claybrook (U.K.) with Geoff Streeter, Dyalog Ltd. (U.K.) and John Scholes, Dyalog Ltd. (U.K.)
It's 33 years since Dyalog version 1.0 went on sale and, as any hobbit can tell you, 33 means coming of age and reflecting on how you got to where you are now. In this spirit, Stephen interviews Geoff and John, two of the original team, about some of the challenges that faced the initial implementation of Dyalog and how some of the choices made decades ago are still reflected in the product to this day.
L05: Same Difference summary | slides (PDF) | video (31 mins)
Simon Garland, Kx Systems Inc. (Switzerland)
Kx's languages k and q have been around since the early 90s and have been continually evolving during that time. Although Arthur Whitney's early work was with APL, many choices were made over the years that took these languages further and further away from the APL world, some of them with far-reaching ramifications for the language and implementation that only really became apparent years later. Simon will highlight a few of the differences and their consequences that he finds interesting, and hopefully make you look at some of the things you take for granted in a new light. He's said that he’ll try not to be snarky about ⎕IO!
L06: The use of APL in SimCorp Dimension summary | slides (PDF) | video (34 mins)
Niels Hallenberg, SimCorp (Denmark)
SimCorp Dimension is an integrated front-to-back system for large investment managers around the world. Dimension has been developed over more than 20 years and includes a wealth of advanced features within the front office, middle office and back office operations. Being an integrated enterprise system is a core value of Dimension. More than 400 people work on developing Dimension on a daily basis. APL has been part of the technology stack from the start. Today, other technologies have been added including C# and OCaml. Niels' presentation will illustrate the use of APL in Dimension and how APL supports product development. He will also look forward to how APL may evolve in the future to support a product like Dimension.
L07: Composition Based Modelling and Dyalog APL summary
Stephen B Jaffe, ExxonMobil – retired (U.S.A.)
Dr Jaffe is a chemical engineer with a distinguished career and the co‑inventor of SOL.
Composition Based Modelling represents a significant improvement in the approach to building kinetic models of petroleum systems. The activity is divided into three areas:
- The Model of Composition (High Detail Hydrocarbon Analysis – aka HDHA)
- Describing the chemistry of petroleum mixtures (Structure Oriented Lumping – aka SOL)
- Model Delivery Technology
Composition Based Models have been built for all major petroleum conversion processes including reforming, fluid catalytic cracking, hydrocracking, catalytic hydro‑desulphurisation and lubricant manufacture. They are presented to the user through a uniform architecture on a PC platform and are in use worldwide to optimise refinery operation. In the last few years they have seen the greatest value for refinery feed crude selection.
Numerous analytical methods, collectively known as HDHA, enable the composition of petroleum to be represented as a consistent set of over 5,000 molecular species. Physical, chemical and performance properties of petroleum are calculated using composition-based correlations and are used to "property balance" the HDHA analyses.
SOL describes the reactions of hydrocarbon mixtures. Using SOL, individual hydrocarbon molecules are represented as vectors of incremental structural features. These vectors provide a convenient framework to construct rule-based reaction networks of arbitrary size and complexity. Models using SOL typically follow the conversion of molecular species through more than 100,000 elementary reaction steps.
Dyalog APL is used in every aspect of the project. The petroleum composition is analysed and organised with APL. SOL is entirely APL based, and the reactor models are in Fortran generated under program control by APL. Finally, the user interface is 100% Dyalog APL.
L08: Lessons from 40 Years of APL (Not Old Enough for 50 Years!) summary | slides (PDF) | video (23 mins)
Jay N. Whipple III, TheCommonGame.com (U.S.A.)
Building real businesses on APL platforms. Keys to success and implications for the future relevance for the next generation of software architects.
L09: Trees with Loops – where APL made a difference in Rowntree summary | video (30 mins)
Adrian Smith, APL-385 (U.K.)
An overview of some of the key areas where APL got our research department noticed in the chocolate industry, and a particular look at the (rather hard) problem of turning a recipe into an ingredients list, where the recipe has much re-use of finished (and semi-finished) materials back in earlier stages. A simple demo version of the algorithm will be available to take away (but I still can't give you the recipe for Kit Kat – they'd have to kill all of us!).
L10: The Joy of (Especially Dyalog) APL and Some Gripes summary | video (34 mins)
Charles Brenner, DNA-View (U.S.A.)
APL notation is elegant and mathematically appealing to the considerable extent that it's consistent, general, concise, and the rules are few. Especially during the preliminary, the design, stage of my Mixture Solution program (an algorithm for an important class of forensic DNA situtions) good notation was vital. All the experts (myself included) understood that there is an essential complication to DNA mixture analysis that makes a purely analytical algorithm impractically slow. Consequently all the existing programs necessarily used Monte Carlo sampling methods. But in the course of months trying to think clearly why that had to be so, a series of insights dawned on me and eventually the realization that it is not so. The "essential complication" disappears if you pile your logs in the right order.
Each new idea had to be written down – otherwise the next day you doubt yourself, and conclude you were probably confused. APL proved to be good for taking notes. Concise and explicit notes made it easy to review the steps and be clear that the simplifying discovery was correct. Tool of thought.
Good notation though is only part of a great programming tool. Implementation is equally important, and here Dyalog APL has great strengths but in some ways it's clumsy. One example is the horrifying clunkiness of typing a function name into the session log in order to open it for editing. Of course there are plenty of delights – a simple APL defined operator implements the mathematical operator of conjugation; some bit of code that I expected to be inefficient turns out to be blindingly fast (tricky Roger); a bit of code that required special-casing the empty case in STSC's APL just plain works in Dyalog.
So I'll temper my praise with criticism – fine whining.
L11: 50 Years of APL summary | video (42 mins)
Gitte Christensen, Dyalog Ltd. (Denmark)
An introduction to the early years of APL. The different applications of APL are described in the context of changing conditions through the last 50 years. The evolution of APL is outlined and the current state established. In summary, this is a story of computing driven by end-users.
L12: 60 Years of IT Progress summary | slides (PDF) | video (37 mins)
Romilly Cocking, independent (U.K.)
APL veteran Romilly Cocking takes a lighthearted look at how the world of IT has developed since he wrote his first program in 1958.
L13: Getting the Word Out in Colour summary | slides (PDF)
Paul Grosvenor, Optima Systems (U.K.)
The APL community has discussed, deliberated, debated, conversed, cogitated, pondered, reflected and considered how we should get our word out to the various communities and raise our profile. In more recent times we have seen the emergence of a number of groups that meet regularly and prove that there are those out there who want more. These groups are now starting to market themselves properly; getting their presence known, creating a brand, an identity and publishing regularly. As a result, interest and awareness is growing.
The job of selling ourselves will never be complete and there is still much to do, but we get better.
Paul discusses what is happening with some of the groups he is familiar with; what are they doing, when are they doing it and how do they sell themselves...Oh and of course, does any of this make a difference?
Finally, he will introduce a touch of your colour for you to discuss, deliberate and cogitate...
L14: The Cartoon Introduction to APL summary | video (25 mins)
Roberto Minervini, Liceo Classico S. M. Legnani (Italy) with Federico D'Ettorre, Mattia Passarelli, Teresa Renda and Federica Zoanni – illustrated by Giuseppe Mastropierro
Roberto is a maths teacher and in his view one of the best problem-solving techniques is arriving at a solution to a problem by means of images. Can a mathematical language as concise and abstract as APL help us to give an image to the problems? He discusses this with four of his students and an illustrator.