Dyalog Presentations
D01: Welcome to Dyalog '17 summary | slides (PDF) | video (25 mins)
Gitte Christensen, Managing Director (CEO)
Dyalog Ltd's CEO opens the user meeting.
D02: Technical Road Map: The User Experience summary | slides (PPTX) | video (32 mins)
Morten Kromberg, Chief Experience Director (CXO)
Morten presents his view of the currents that APL users will need to navigate in the years to come, and the steps that Dyalog is taking to make the journey a pleasant experience.
D03: Technical Road Map: Under The Covers summary | slides (PDF) | video (34 mins)
Jay Foad, Technical Manager (CTO)
Jay discusses technical achievements in the latest version of Dyalog APL, new projects targetting the next release, and priorities for the engineering team for the next few years.
D04: A Case Study – Recoding from Procedural to Denotative Style summary | slides (PDF) | video (19 mins)
John Scholes
The procedural and denotative mindsets are quite different. John hopes to highlight those differences by stepping through the translation of one style into the other.
D05: APL Source Code in Text Files summary | slides (PDF) | video (30 mins)
Morten Kromberg
Most new work on APL code distributed with Dyalog APL is now based on open-source repositories, and version 16.0 includes the source for many new tools as text files which have been copied from these repositories. Morten talks about why we are doing this, how to find and load – and contribute to – the new code, and finally discusses ideas that Dyalog is working on which will allow you to easily build and test applications based on text source.
D06: Py 'n' APL summary | materials (ZIP) | video (21 mins)
Marinus Oosters (intern, summer 2017)
Python is a popular programming language with some similarities to APL. An interface between the two would enable APL programmers to benefit from being able to call libraries written in Python, and Python users could take advantage of APL to do analyses that are difficult to code or perform poorly in Python. Marinus, one of the winners of the 2016 Dyalog Problem Solving Competition, was an intern at Dyalog in July and August of 2017, and spent this time developing a Python-APL interface – Py 'n' APL.
D07: Index-Of on Multiple Floats summary | materials (ZIP) | video (25 mins)
Roger Hui
Roger presents an efficient computation for x⍳y. The solution makes key use of the new interval index (⍸) primitive, and the relatively new key operator (⌸) elucidates the classical hashing algorithm.
D08: Moving Bits Faster in Dyalog 16.0 summary | materials (ZIP) | video (31 mins)
Marshall Lochbaum
Dyalog version 16.0 features some big improvements to functions that move Boolean values around, like Reverse, Rotate, Catenate, Expand/Compress and Transpose. Marshall shares some of the secrets that make Dyalog's new versions of these primitives so fast, in particular the many tricks needed to make transposing a Boolean matrix efficient for every possible shape.
D09: Cross-Platform User Interfaces using the HTMLRenderer summary | slides (PPTX) | video (22 mins)
Brian Becker
The HTMLRenderer is a new tool for building user interfaces that can be displayed by Dyalog version 16.0 under Microsoft Windows, Linux and macOS. In a series of brief demos, Brian shows how it can be used to build a confirmation prompt, a simple data entry form, display some graphics – or run an existing MiServer application.
D10: Tolerant Unique summary | materials (ZIP) | video (27 mins)
Roger Hui
Unique (∪) with non-zero ⎕CT is incorrectly implemented in all but one of the APLs and APL dialects that has the primitive. Roger analyses how the error came about and describes a solution (and a speed-up). He also proposes that unique be extended to higher-ranked arrays.
D11: Literal Notation for Arrays and Namespaces summary | slides (PDF) | video (28 mins)
Adám Brudzewsky
New primitives and system functions are frequently added to Dyalog APL, but extensions to the syntax of the language are rare. Adám proposes a notation for arrays and namespaces that allows definitions to be spread over multiple lines.
D12: Try APL Online summary | slides (PPTX) | video (29 mins)
Brian Becker and Adám Brudzewsky
How do you make it easy to introduce people to APL?
Adám and Brian talk about two websites, TryAPL.org and tio.run, that allow a user with no more than a browser to use Dyalog APL online.
D13: ⎕NMOVE and Other Predictions for Dyalog Version 17.0 summary | slides (PPTX) | video (30 mins)
Richard Smith
New native file functions were introduced in Dyalog version 15.0 to allow simple and portable access to the host file system. More are coming, and Richard will attempt to predict what they will be.
D14: Uncle Andy's Fireside Chat v4 summary | slides (PDF) | video (16 mins)
Andy Shiers
Andy once again takes a look at some of the less-well announced features of Dyalog APL. He mainly concentrates on features within Dyalog version 16.0, but might mention other versions (past and future!).
D15: TAO – Total Array Ordering summary | materials (ZIP)
Roger Hui and John Scholes
The extension to ⍳ makes it possible to "find anything". Roger proposes that ⍋ (and ⍒) should be extended so that it can be used to "sort anything". The extension also enhances the usefulness of the new interval index (⍸) primitive.
D16: User Command Developments summary | slides (PDF)
Michael Baas and Adám Brudzewsky
Dyalog's user command system is under constant development. Michael and Adám demonstrate the latest additions and show how they can simplify your work. They also describe what they are currently working on to make your APL development experience even better.
D17: Prefix Agreement: A Proposal for an Extension to the @ Operator summary | slides (PDF)
John Scholes
The right operand of the @ operator can be a Boolean-returning selection function. In this case, the shape of the resulting mask must match that of @'s right argument. This extension investigates allowing lower-rank masks to conform, for example, a Boolean vector result could select rows of a matrix.