Dyalog ’18 Videos, Final Week

Welcome to the eighth – and final – week of recordings from the Dyalog User Meeting in Belfast! I’d like to take this opportunity to thank all the speakers who helped make Dyalog ’18 another valuable experience! Fittingly, we’re wrapping up with a larger, and even more varied collection than usual: two talks by members of the Dyalog team, two by users of Dyalog APL, and one from the British APL Association – five in total!

1. There are big changes afoot at the British APL Association and Paul Grosvenor, the chairman of the BAA, took to the stage in Belfast to tell us about them. Most importantly, the Vector magazine is going online after 25 years as a printed publication – and the removal of printing costs means that membership is now free! An annual conference in April/May is being planned. There has never been a better time to join the BAA, and you don’t need to live in the UK to do so! In addition to watching Paul’s talk, you can read about many of the changes here and on the new vector website (coming soon!).

2. Arianna Francia from SimCorp Italiana works in one of the largest APL development teams in the world. IFRS 9 is an International Financial Reporting Standard (IFRS) promulgated by the International Accounting Standards Board (IASB). Fortunately, although Arianna’s talk is titled “The IFRS 9 Project”, she completely avoids the subject of IFRS, and instead offers valuable insights into how a rapidly growing team, faced with an extraordinarily complex project, adapted and adopted a combination of agile practices and ideas from Ed Catmull’s book Creativity, Inc, which is about his experience managing Pixar.

3. For many Dyalog users, the least attractive aspect of Dyalog’s MiServer as a tool for cross-platform user interfaces is that it comes with a completely new set of controls or “widgets”, which essentially means you will need to rewrite your ⎕WC-based user interface. If you are facing this problem, Chris and Michael Hughes have very good news for you: in their talk “⎕WC on the Web”, they demonstrate a new tool that emulates ⎕WC, allowing you to create your UI in a web browser or the HTMLRenderer component included with recent versions of Dyalog APL.

4. Nested arrays make it easy – sometimes, too easy – to represent tables as 2-dimensional arrays. However, if each column of a matrix has the same data type, there are very significant savings to be had in both space and time if you “invert” such tables and represent them as a list of vectors, each containing the values for one column. In his talk on “Inverted Tables”, Roger Hui evolves a set of short, elegant and efficient functions for common operations on inverted tables.

5. It appears that the APL community came very close to losing John Scholes after he read the September 1989 edition of British Computer Journal special edition on Lazy Functional Languages and was struck by the beauty of functional programming. Fortunately, John decided to work on functional extensions to APL, and came up with dfns. This new notation was added to APL in 1996, only six years after Haskell 1.0 appeared. In his talk entitled “dfns, past present and future”, John revisits the early days and muses about things that could have been done differently, but quickly moves on to talk about ideas for future extensions to dfns, like guarded guards, where clauses, and optional type specifications.

I hope that you enjoy watching your choice of recordings as I have enjoyed revisiting them in order to write about them. As you may have noticed, we have taken a break from webinars while we have been rolling the Dyalog’18 recordings out. Now that we’re done, remember to set time aside at 16:00 (U.K. time) on the 3rd Thursday of each Month to follow the webinar series. The next webinar will be on Thursday February 21st: a presentation by our CTO Jay Foad, on his adventures as a participant in the Advent of Code programming competition, which was held in December.

Summary of this week’s videos:

Dyalog ’18 Videos, Week 7

Our stated goal has been to provide variety each week, and I’m happy to say that I have not been able to find any kind of theme in this penultimate set of presentations from Dyalog’18 in Belfast. Although the three technologies presented are all very useful, that is the only thing that they seem to have in common!

FlipDB is a relational database management system that was designed to solve complex data problems from the mortgage and asset finance business, but has grown into a general-purpose toolkit for working with tables. As Paul Mansour writes on the FlipDB web page, mortgages push the limits of many systems due to the quantity of data items, variety of products, constant innovation, and a never-ending stream of file formats and standards. Answering his own question, “What is wrong with SQL?”, Paul shows how easy it is to solve a number of programming puzzles from the Alteryx Weekly Challenge web site using the combination of array and object-orientation available in FlipDB. Just think about how difficult it would have been to do the same with SQL!

Co-dfns is a PhD project at Indiana University, executed by Aaron Hsu and partly funded by Dyalog Ltd. The aim is to build a concurrent compiler for dfns. Aaron regularly presents progress reports at Dyalog user meetings. This year, his focus has shifted to wrapping up demonstrations of completeness and other reporting required to finish his thesis – this will describe his compiler, which is designed to self-host on Data Parallel hardware. Who could have thought that analysing a lexically-scoped, dynamic, language could be so interesting (at least if you want the compiled code to run fast)?

A Jupyter Notebook is a formatted document containing live code, equations, visualizations and narrative text. As Adám Brudzewsky explains in his talk, Jupyter is an open framework that supports “language kernels” for many languages, including Dyalog APL. In other words, a notebook can contain APL expressions and their results – and the expressions can be edited and re-executed by the reader on demand. The expressions can either return textual output which is incorporated into the document, or HTML including SVG graphics – for example, output from SharpPlot or any tool that can produce HTML output.

Summary of this week’s videos:

APL at work in Africa

My dad is originally from the Cape, and I grew up in Botswana, so hopefully I can be forgiven for feeling that it is very cool to find Dyalog APL at the core of a project which aims to increase financial literacy and support the financial stability of small and medium-sized enterprises in South Africa, by delivering a “cash flow optimizer” on phones and tablets:

More Links:

CF04i Home Page
Article in the Financial Mail Corporate Essentials
Riskflow Blog