Dyalog Presentations
(D01) Welcome! summary | video (27 mins)
Gitte Christensen, Managing Director (CEO)
Dyalog's CEO opens the conference.
(D02) Road Map Part 1 – The Blue Hills summary | video (54 mins)
Morten Kromberg, Technical Director (CTO)
Morten will present an overview of Dyalog’s Technical Road Map. Keywords: Portability, Performance and the Power to express solutions.
(D03) Road Map Part 2 – The Next Intersection summary | video (62 mins)
John Daintree, Chief Architect
John will talk about features of Dyalog APL that Dyalog plans to release in 2012 – including the new Remote Development Environment (RIDE) and key features of version 13.1.
(D04) Introducing the Dyalog '11 Conference Edition summary
John Scholes & Roger Hui
This year, the "Conference Edition" is an experimental interpreter containing the results of a number of research projects, rather than an early version of the next commercial release. The Dyalog '11 Conference Edition includes support for Rational Numbers, Verb Trains (Hooks/Forks), "Right Operand Currying" and some experimental uses of the Variant operator. John and Roger will introduce some of these features and invite you to attend in-depth presentations later in the conference.
(D05) Rational Numbers summary | slides (ZIP) | video (62 mins)
Roger Hui
The Dyalog '11 Conference Edition has an implementation of rational numbers. A rational number is a pair 12345r678 (numerator, denominator) of integers with an arbitrary number of digits. Rational functions applied to rational arguments produce rational results; other cases work as before. Further, a new function is provided to work with prime numbers.
(D06) Function Trains for Dyalog APL summary
John Scholes
Function trains (Hooks and Forks) have been a hallmark feature of the J programming language. John will demonstrate trains in Dyalog and discuss some possible differences from the J definition.
(D07) Closures summary
John Scholes
A closure is a function, bound with a symbol table, which supplies values for any non-local names. An example might be the binding of ?IO=0 with the ? function. Further, "Mutable Closures" allow the maintenance of local state between invocations of the function and can be used to implement a "poor man's OO". Closures have recently made an appearance in a number of new languages and John will revisit Dyalog's experimental implementation, first shown at Dyalog 2006.
(D08) APL# summary | slides (PDF) | video (47 mins)
Morten Kromberg, Technical Director (CTO), John Scholes & Jonathan Manktelow
APL# (pronounced "APL Sharp") is a new dialect of APL designed with object oriented virtual machine platforms in mind, such as Microsoft.NET. Designing APL# provides us with an opportunity to rationalise the language specification and produce a "modern" APL interpreter, which also has a more "functional" flavour. We will be presenting the current language specification, parts of which has changed significantly since APL2010, and demonstrating the latest incarnation of an experimental APL# interpreter.
(D09) Introducing the APL Tools Group summary
Brian Becker, APL Tools Group Manager
In January 2011, Dyalog formed the APL Tools Group to identify and develop software tools for Dyalog APL users. In this presentation, Brian will present an overview of the tools currently available from Dyalog, including SQAPL, Conga, SAWS, MildServer, the Dyalog Cryptography Library, SharpPlot and NewLeaf – and several other workspaces supplied with Dyalog APL. Brian will then discuss tools that are currently in development or are planned for the near future. This is to be an interactive session, so please come ready to ask questions, discuss the tools you think we need to build and explore ways that the APL community can share and exchange tools.
(D10) Dyalog in the Enterprise summary
Morten Kromberg, Technical Director (CTO)
Following on from Brian's talk, Morten will go into a little more detail on tools which may be of particular interest to large and medium-sized organisations and applications (without suggesting that the tools are not interesting in other contexts). Topics covered will include:
- The Component File Server (remember the SHARP APL and STSC SHAREFILE systems?)
- SQAPL Server (your application as an ODBC, JDBC or ADO data source)
- Stand-Alone Web Services (SAWS)
- The Dyalog Cryptographic Library Source Code Management using SALT
- Developing SharePoint WebParts in Dyalog APL
- Parallel Each in the Clouds
(D11) Focus on Performance summary
Jay Foad
First, Jay will talk about performance measuring tools that Dyalog has implemented in recent releases, to help you locate hot spots in APL applications: ]PROFILE which can be used for "profiling" your application code and ]APLMON which can be used to profile the interpreter while it is running your application.
Secondly, Jay will talk about ideas he is working on, which aim to significantly reduce the interpretative overhead of Dyalog APL by partially or completely compiling APL functions.
(D12) The Doctor is In summary | video (43 mins)
Andy Shiers, Operations Manager (COO)
Andy (re-)joined Dyalog in 2009 to help us focus on Customer Support and Quality Assurance. In addition to talking about his plans for reminding both developers and managers of the need to keep that focus, Andy will present a number of helpful tips and tricks that he has discovered while testing and providing support for Dyalog APL. Recently Andy assumed the role of Chief Operating Officer, and in this capacity he will also talk about some of the plans for systems that Dyalog makes available to customers, such as the DSS system for downloading patches and the Forums.
(D13) Windows Presentation Foundation summary
Michael Hughes (MJH Software Services Ltd.)
Windows Presentation Foundation is a framework for developing Graphical User Interfaces. Although WPF is easy to use for simple GUI, it is designed to make it easy to provide separation between the user interface and business logic. You can drive WPF applications from APL, building GUI elements one by one in the same way as with ?WC. Alternatively, you can use XAML, which is a form of XML designed to represent user interfaces. In collaboration with Dyalog, Michael Hughes is developing a WPF Tutorial and other training materials. For those who do not have time to attend the half-day workshop on WPF that Michael and Dan Baronet are giving on Sunday afternoon, this session provides an opportunity to get a more condensed introduction to WPF and the new materials.
(D14) APL + R: An Example of Perfect Synergy summary
Prof. Alexander "Sasha" Skomorokhov (National Nuclear Research University, Obninsk)
R is a free software environment for statistical computing and graphics, which has become very popular in recent years. This winter, Ronald Chan, winner of the APL Programming Contest in 2009, implemented an interface to R during his internship at Dyalog. Professor Skomorokhov, who has written an interface to R of his own in the past, has been putting the new interface through its paces.
(D15) Contest Prize Ceremony summary| slides (PDF) | video (34 mins)
Joel Hough (The University of Utah)
The third annual Dyalog Programming Contest was held in 2011. 130 educational licences were downloaded, and a number of excellent submissions were received. Following the prize presentation, Joel will tell us about the experience of learning APL, and explain some of the winning solutions.
(D16) Interactive Road Map Session summary
Team Dyalog
As the conference draws to a close, we invite you all to discuss the overall direction and product features that have been presented during this year's conference. What should take priority? Is there anything missing? All Dyalog conference delegates will be present.
(D17) See You in Elsinore for Dyalog '12 summary
Gitte Christensen, Managing Director (CEO) & Morten Kromberg, Technical Director (CTO)
Closing session
(D18) What is Functional Programming? summary | video (59 mins)
John Scholes & Roger Hui
Roger and John will attempt to address this tricky question in an open forum with examples from J and D. We will try to understand why adopting the functional approach might produce programs that are both more efficient and less error-prone.