Day 4 – Thursday September 14th 2017
Dyalog does a great job of filling their user meetings with interesting presentations, and this year was no different. Personally, I find that the challenge then becomes for the attendees to soak in as much as possible without getting overwhelmed by the ocean of information:
- new features in the language
- old features that have been forgotten or missed (this always manages to surprise me)
- proposals for extensions to the language
- other users’ presentations, offering a glimpse of their world and problems they have solved or are facing
As if it wasn’t enough of a challenge, the last day of the meetings follows a late night, banquet and socialising/networking until early hours. This is in no way a complaint, we like banquets (and challenges!).
What better way to start the Thursday sessions than an enlightening presentation by Roger Hui on “The TAO of Dyalog APL”. I was as close as I could get to a trance, ready and receptive for the instructions of our Master to guide us on the right path. And he did. The TAO Roger talked about was the proposal of bringing Total Array Ordering into Dyalog APL; something that was introduced in J already back in 1996, more than 20 years ago. Today, the grade functions
⍋⍒ are limited to non-scalar arrays of all real numbers or all characters, but what if you could apply them to any array? Roger explained the ideas and motivations behind the concept and how it would extend the existing interval index
Following Roger’s presentation, Michael Baas took to the stage and revealed his deep secret: he is lazy. So lazy in fact that he goes out of his way to make things easier for himself by automating repetitive tasks (does that sound familiar?). Fortunately for us, Michael together with Adám Brudzewsky are on Dyalog’s Tools Team (DTT? Is that the complement of Test Driven Development, TDD?).
In memory of Dan Baronet who brought us SALT and User Commands as one of his last contributions to the APL community before he tragically lost his life in an accident last year, Michael and Adám presented the improvements and new commands they have added since. This is the part where I was surprised to see so many “old” commands that I didn’t know about, but would help me in my day to day life. They urged us all to give them feedback on their work, and suggestions for new tools that would help us.
Last, but not least, John Scholes – the evangelist of Denotative Programming – presented a proposal to extend the new at @ operator. John was very excited to introduce the operator with Dyalog 16.0 and has talked warmly about it in webinars and previous User Meetings as the missing “piece of the puzzle” to complement his denotative style. In fact, he has re-factored all his d-fns to use
@ where appropriate.
It didn’t take long before Aaron Hsu reported back that an extension to
@ is called for. A scalar left argument is extended and applied to the cells in the right argument that are identified by the right operand. But can we provide a non-scalar left argument that extends to the selection instead?
John showed us the proposal called “Prefix Agreement” with examples of how it would work and why it would be good. A model of the extension called at has also been added to the
dfns.dws workspace provided with Dyalog, for those of us that would like to try it out and give John some feedback.
The User Meeting was concluded with an open forum where Gitte Christensen and Morten Kromberg asked for feedback on the meeting. They floated the idea of holding future meetings every two years and complement it with regular, monthly webinars. As always, feedback to Dyalog is invaluable as it guides them when planning future events, so feel free to contact them with your views.
At this point I was sated on information, but hungry. One last, wonderful meal in the restaurant at Konventum and then I headed back home to digest all the ideas that were floating around in my head.
Well done Dyalog and thank you all for making this an invaluable event not to be missed!