Below are links to the presentations at APL2010 in Berlin which we recorded.
Each consists of the slides for that presentation, along with the presenter's speech.
Dyalog would like to thank those presenters who do not work for Dyalog for permission to include their presentations here.
My APL Experience by Ryan Tarpine
Discovering APL by Mstislav Elagin
APL2XML by Kai Jäger
APL And Web Services by Brian Becker
Migrating SimCorp Dimension to Dyalog APL Unicode by Stig Nielsen
Windows Presentation Foundation by Michael Hughes
Introduction to D-Functions - Part 1 by John Scholes
Introduction to D-Functions - Part 2 by John Scholes
Processing Regular Expressions by Richard Smith
Taking APL for a RIDE by John Daintree
Unifying Traditional Functions and D-Fns in APL# by John Scholes, Jonathan Manktelow, Morten Kromberg
Ryan is the winner of the Dyalog Programming Contest 2010. He is a 25-year-old PhD Candidate in Computer Science with a focus on computational biology from Brown University near Boston.
Mstislav is the runner-up in the Dyalog Programming Contest 2010. He is a 32-year old PhD student at the Humboldt-Universität zu Berlin, who is currently developing an online monitoring and early warning system for financial markets.
Kai says: "HelpAndManual (http://www.helpandmanual.com/) is, in my opinion, by far the best software available for creating any sort of documentation.
The software comes with a powerful editor that allows the user comfortably to edit all sorts of aspects of documentation, including
references, a glossary, an index and a table of contents as a tree-structure. The application saves its data in XML files.
The application compiles these files not only into ordinary Windows help files but also compiled help, RTF documents, PDF documents, web
sites and electronic books.
That fact that it saves its internal data in ordinary XML files means that any application could create such XML files itself and then
use HelpAndManual as a compiler in order to generate the preferred output format.
This seems to be particularly useful for classes: plenty of useful information can be generated from class scripts automatically: a list
of methods including their syntax as well as a list of properties and fields.
In the case where a class script contains information about itself following some simple and basic rules, these pieces of information can
be used as well.
This talk demonstrates how this can be achieved by using a couple of classes which are already available as part of the APLAPL project
on the APL Wiki (ADOC; see http://aplwiki.com/ADOC) or will become available shortly before the APL2010 conference: the APL2XML classes.
With these classes one can create XML files which will be accepted by HelpAndManual as input files. Before the APL2010 conference ADOC
will be enhanced to make use of the APL2XML classes in order to create any of the output formats supported by HelpAndManual.
Apart from its usefulness the approach demonstrates clearly the advantage of using XML as file format. This allows applications to work
together although they don't know much about each other.
The advantages of an object-oriented approach in software development also becomes apparent: Both ADOC as well as the APL2XML classes are
quite complex, but the complexity is hidden: the user is expected to deal only with the public interface which is easy and clean."
SimCorp Dimension is an integrated single database investment management system mainly coded in Dyalog APL, partly in C#. Due to market demands, the APL and database part of the system has been migrated to support Unicode. Stig will take you through the steps needed, and the pitfalls to be aware of, to get successful through the migration process and finally release the product. The main challenge was to get all the interfaces to e.g. external C-libraries, third party products and general native file access issues. A general introduction to what Unicode is and why it is, or is not, the answer to all problems with multilingual challenges when it comes to sharing data will start the session.
Windows Presentation Foundation is a graphical subsystem for rendering user interfaces, originally developed for desktop applications built using the Microsoft.Net platform - but now also available for web and mobile applications under Windows, Linux, on the Apple Macintosh - and coming to mobile platforms. The workshop will demonstrate how WPF can be used from Dyalog APL and APL# to create desktop and web applications.
Since their introduction in 1996, Dyalog's direct-definition functions (D-fns) have grown from an experimental toy to a notation used to implement large pieces of commercial software. D-fns are not only useful for expressing idioms, but also as a tool of thought for any problem that can benefit from a functional approach (and some would say that covers almost everything). Owing to their functional nature, D-fns also have greater potential for internal optimization, including compilation — and have been selected as the foundation for the new function syntax in the APL# dialect
Since their introduction in 1996, Dyalog's direct-definition functions (D-fns) have grown from an experimental toy to a notation used to implement large pieces of commercial software. D-fns are not only useful for expressing idioms, but also as a tool of thought for any problem that can benefit from a functional approach (and some would say that covers almost everything). Owing to their functional nature, D-fns also have greater potential for internal optimization, including compilation — and have been selected as the foundation for the new function syntax in the APL# dialect
In so-called “scripting languages” (Perl, Ruby, Awk and Tcl, to name a few), the ability to search text using “regular expressions” is a cornerstone for
the power and flexibility that these languages deliver. Although APL is (currently) mostly used to process numeric data, APL has most of the characteristics of a good scripting
language, and many current and future APL applications could benefit from the availability of regular expression support tightly integrated with the language.
The support for regular expressions in Perl inspired Philip Hazel to create the Perl Compatible Regular Expression library known as PCRE, which has been incorporated into many
open-source applications. Although APL vendors and tool smiths have previously implemented system or library functions which interface to PCRE and other “regex engines”,
one of the typical usage patterns is to call a function to process each “match” of the regular expression within an input document, suggesting that an operator might
be a more appropriate model. This paper will discuss the design decisions which led ultimately to ⎕RX, Dyalog’s first “system operator”, which can search using PCRE and
make modifications to the text either by using a simple transformation syntax (similar to that used by the Unix utility “sed”), or by using an APL function to express the
transformation.
The paper will illustrate some possible examples of ⎕RX in use. In doing so it will consider character classes (such as “an alphabetic character”) which may be used in
regular expressions, and invite further discussion on whether there could or should be additional classes specifically included in order to support searching APL source code.
The Dyalog Remote Integrated Development Environment (RIDE) is a new graphical development environment for all versions of Dyalog APL on all platforms - from Windows Mobile to the largest AIX “midframes” (and in the future also the new APL# interpreter). The RIDE allows you to connect to Dyalog session from almost any web browser on any client platform. The RIDE is a cornerstone of a strategy which is intended to take the portability of applications written in Dyalog APL “to the next level”.
APL systems provide a definition mechanism so that expressions may be collected into
non-primitive or “user-defined” functions and operators: the traditional function or “T-Fn”.
In 1996, Dyalog introduced a purer direct-definition style, now referred to as a “D-Fn”,
which was designed to fit better with the functional programming paradigm.
APL#, pronounced “APL Sharp”, is a new dialect of APL, which is aimed at the Microsoft.NET
and similar “virtual machine” frameworks.
This paper details an attempt, in Dyalog's APL# project, to combine both “T-Fn” and “D-Fn”
definition styles into a unified whole, which supports both the procedural and functional modes of programming.