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: