Dyalog '07 was held in Princeton, New Jersey, U.S.A., from 30 September-3 October 2007

Programme (PDF) Materials

Dyalog Presentations

(01) Dyalog Today and Tomorrow (Opening Session) summary
Gitte Christensen, Managing Director (CEO)

A status report and review of Dyalog's strategy for the next few years, from Dyalog's CEO.

(02) Dyalog for Enterprise Applications (Technical Keynote) summary
Morten Kromberg, Technical Director (CTO)

With Object Orientation and Unicode under our belts, the next technical focus for Dyalog will be performance and connectivity. Our goal is to make it significantly easier to develop, deploy and manage robust, secure and scalable components and services for very large international enterprise applications.

(03) New Features of the Dyalog Development Environment summary
John Daintree, Chief Architect

In addition to Unicode, version 12.0 delivers a number of enhancements to the IDE to support development of classes and the use of Microsoft .Net components. John will be our guide to the new functionality in 12.0 and a few useful features from other recent releases.

(04) Introduction to Unicode summary
Morten Kromberg, Technical Director (CTO)

The defining feature of Dyalog Version 12.0 is support for Unicode character data. Unicode is an industry standard allowing computers to consistently represent and manipulate text expressed in any of the world's writing systems. It assigns a number, or code point, to each of approximately 100,000 characters, including the APL character set.

This presentation will demonstrate the new features which have been introduced in order to support Unicode, and discuss the benefits that Unicode provides. Morten will discuss the most significant issues that will arise during conversion of existing Dyalog applications to Unicode, and introduce some issues that developers of Unicode applications must confront.

(05) SALT, Subversion and the Dyalog Code Library summary | materials
Dan Baronet

The Simple APL Library Toolkit (SALT) is a mechanism for storing namespaces and classes as text files, rather than using internal binary formats. Dyalog is planning to use SALT as the delivery mechanism for code libraries. Dan will show how SALT can be used together with an industry-standard source code management system, and launch a web-based "open source" code repository that everyone is invited to contribute to.

(06) Ultralight Web Development summary
Stephen Taylor

Stephen will show how Dyalog can be used to implement static and dynamic web pages using techniques which any Dyalog user can master. No heavy machinery involved.

(07) New Tools for Distributed Applications summary | materials
Morten Kromberg, Technical Director (CTO)

The Dyalog Remote Communicator, also known as Congo, is a new tool for enabling the easy construction of client/server and peer-to-peer applications, which will be delivered as part of version 12.0. Congo supports Secure Sockets and makes it straightforward for Dyalog users to implement web client and server programs and "remote procedure call" mechanisms.

Morten will also review the status of the Dyalog File Acceleration Server, a new product which is targeted for availability in 2008. The FAS aims to provide a faster, more robust file system for large applications where many users are sharing files across heavily loaded corporate networks. The FAS will also provide statistics, instrumentation and backup capabilities which are not available from the existing file system.

(08) Keyboards in the New World summary | materials
Geoff Streeter

With version 12.0 and Unicode support, Dyalog will no longer use special input and output translation mechanisms, but join the rest of the world in accepting Unicode input from standard "Input Mode Editors" and "x keyboards" defined using standard operating system mechanisms. Geoff will review the platforms on which our products are available, and discuss mechanisms for defining keyboards in each environment.

(09) Version 12.0 Performance Enhancements summary
John Scholes & Nic Delcros

In addition to Unicode support, we have taken time out to review the performance of several key primitive functions and other internal mechanisms. Nic and John will present some of the results of this work and invite you to argue for future improvements that you would like to see.

(10) An Investigation into Higher Level Operators summary
John Scholes

John will take us on a tour of hyper-operators and other exotic constructs that he has been looking into recently.

back to top


Invited Guest and User Presentations

(11) Networking for APLers summary | materials
Michael Baas (Dynamic Logistics Systems, Germany) & John Miller (HologramBI, Australia)

During Dyalog '05 in Elsinore, John Miller presented his Business Intelligence System "Hologram" and Michael Baas was in the audience. This talk will tell the story of how they subsequently got together, which benefits they have derived from their co-operation and how Hologram was able to add (another) world-famous customer logo to their reference list. The presenters would like to encourage fellow APLers to get together and explore similar opportunities for partnerships.

(12) Exploring Microsoft DirectX interface with Dyalog APL 11.0 summary | materials
Alex Balako (CheckFree Investment Services, USA)

DirectX is a set of low-level application programming interfaces (APIs) for creating games and other high-performance multimedia applications. Since version 9, it supports the .NET interface. The presentation explores resources of Managed DirectX using features of Dyalog APL version 11.0. Several examples will demonstrate building a simple multimedia player, creating an image viewer and a Virtual Reality player, demonstrating operations with 3D objects and special effects.

(13) Script Driven Data Exchange between Incompatible Systems summary | materials
Roger Kumler (CommSoft, USA)

The hardware components of the telephone industry: order and billing systems, switches, cable TV head-ends, voice mail systems and so on, were never designed to talk to each other. For the last 15 years, two APL applications have made it possible for telephone companies to automate the interaction between an order system and all of the external devices that must be updated to fulfil a customer's order. User-defined scripts, interpreted by APL programs, drive the entire process and accommodate complex relationships between the devices.

(14) Vindaloo summary | materials
Phil Last

Computer language research uses the term currying to refer to the composition of functions with arguments. Phil will present some conjectural extensions to APL involving powerful curry mixtures.

(15) Porting your Dyalog APL application to the Internet summary | materials
Eric Lescasse (Lescasse Consulting, France)

This paper discusses the advantages of, and provides a recipe for using Microsoft.Net and C# to transform Dyalog applications into "rich client applications" making use of the Windows GUI, packaged in such a way that they can be launched with a single click and run from within a browser by anyone having an internet connection. The resulting applications load and start on client computers without installing any local files, and access Dyalog code and data on a server.

(16) Compositional Modelling in the Petroleum Industry with APL summary
Steven W. Levine (ExxonMobil, USA)

Dyalog APL is an enabling tool in the detailed modelling of petroleum refinery chemistry and processing. Traditionally, this type of modelling is very difficult due to the complex nature of petroleum. APL helps to manage the complexity and frees the modeller to spend time addressing the science instead of writing code. Dyalog APL is also used to easily deliver the models as desktop applications to users, who in turn use them to make money for the company.

This talk is an overview of our modelling effort, with periodic forays into APL which demonstrate its fit for use.

(17) Dealing Room Pricing in Pure Managed Code, Driven by APL, Presented in Excel summary | materials
John Miller (HologramBI, Australia) & Adrian Smith (APL-385, UK)

Pricing and analytics for the capital markets at SocGen (Australia) are created in Dyalog, translated to C# and delivered to the users in Excel thanks to the Stocastics managed XLL interface. This allowed a large base of tested APL work to be delivered as pure managed code in accordance with the latest company guidelines. New routines can be efficiently coded, translated and delivered very productively – this will be demonstrated during the presentation.

(18) Modern APL Application Design summary | materials
Alexey Miroshnikov (InfoStroy, Russia)

Any software project is a compromise between marketing goals, requirements of existing customers, available resources (individuals and teams) and the choice of new versus tried and tested technologies. Without claiming to be particularly original, Alexey will present his ideas on pragmatic software design and management based on his experience with the design and development of a portfolio management system GamaGlobal that is under development at InfoStroy in St. Petersburg, Russia.

(19) Grid Computing with Dyalog summary | materials
Risto Saikko (Techila Oy, Finland)

Over 95% of the PC power available in most companies is wasted; between mouse-clicks, keystrokes and spikes of application activity, the average PC sits idle. Techila Oy is a Finnish company who provide technology which can harness unused CPU cycles to create an aggregate computational resource known as a PC grid. Risto Saikko will explain the steps required to "gridify" a Dyalog application and explain how and when you can benefit from PC grid technology.

(20) Version Control 101 summary | materials
Lars Villadsen (SimCorp, Denmark)

The software configuration management team of SimCorp Dimension holds up to 16 different versions of the product. The major challenge is to ensure that every single piece of the system is known and controlled. Following up on Lars' high-level presentation at Dyalog '06, this session is a more technical discussion of the actual implementation of tools and the utilities used to keep this environment running smoothly.

(21) Types in APL summary | materials
Lars Villadsen (SimCorp, Denmark)

One of the major advantages of APL is the lack of types – it is also one the major weaknesses. At SimCorp, we have implemented our own type system (and syntax) that runs in development mode of our system. The session will give an introduction to our type interface and the use in our system by showing examples of the types. The session will also show how these types are used for signature comparisons and validation of code used before any code can be committed to our version control system.

back to top


Workshops and Tutorials

(W01) Introduction to Object Oriented Programming using Dyalog version 11.0 summary
Dan Baronet

Version 11.0 of Dyalog introduced classes to the APL language. This course takes a pragmatic APLers eye view of object orientation and, after introducing a little OO theory, the focus of the course will be on showing how OO has been implemented in Dyalog. Some time will be spent creating classes and using them. If time permits some of the more advanced features (for example, how it integrates with .Net) will also be introduced.

(W02) Office Automation using Dyalog – Combining Excel, Word and Other Tools with Dyalog Applications summary | materials
Richard Procter (APL Borealis)

Many applications can benefit from using "Office Products" like spreadsheets and word processors for data entry or presentation, or for other types of processing. Dyalog can be "in the driving seat", using external products as "servers", or be used as an embedded component driven by applications written in scripting languages like Visual Basic for Applications, within other products.

Richard will introduce the subject using Microsoft Office products, focusing primarily on Excel as both server and client. Later, the same concepts will be briefly explored using other Office products and database tools.

(W03) Introduction to Microsoft.Net summary
John Daintree, Chief Architect

Version 11.0 of Dyalog APL integrates comfortably with the Microsoft.Net framework. This course will give an overview of, and show how you can take advantage of, the features included in the Framework itself, and in Visual Studio, Microsoft’s cross-language development platform. John will show you how to find and understand documentation of the framework class libraries, and he will introduce you to some of the most useful classes. We will explore how to use the VS Form Designer to build forms which use APL code, and write APL classes which can be used from C# and VB.Net. The course will very briefly show how to call APL code from Microsoft Internet Information Services (IIS).

(W04) A working introduction to Object Oriented Programming and SALT summary | materials
Stephen Taylor

Class objects and SALT open up new ways to construct Dyalog applications. In this workshop we'll write a simple address book application with SALTed source code and some class objects.

(W05) Introduction to RainPro and NewLeaf summary | materials
Adrian Smith (APL-385, UK)

This course will cover the basics of using the .Net builds of SharpPlot (RainPro) and NewLeaf directly from Dyalog. It will also offer existing RainPro users some hints on conversion, and a set of cover functions which (almost) retain the existing interface.

Several simple charts will be developed in easy stages and incorporated into a typical glossy report along with text and tables. If any of the participants have a particular charting challenge, please bring it along and we will see how close SharpPlot can get in the time available. The new Microsoft Silverlight format will be briefly introduced, and some of its more interesting tricks (such as animations) will be explored.

(W06) Microsoft .Net Masterclass summary
John Daintree, Chief Architect

John will walk through a number of real examples of integrating Dyalog APL and Microsoft .Net. Samples and applications are welcome from the attendees, where the solutions can be explored, or, if necessary, solutions can be found to any outstanding problems.

(W07) Ultralight web development summary
Stephen Taylor

The ubiquity of web browsers makes them a key user interface tool. Web pages are written in HTML. An ultralight developer would want the HTML to be simple and lucid, but most web sites are produced using design software that generates voluminous and barely-readable code. The ultralight developer, racing along with APL and simple tools, needs Web interfaces that don't bog him down.

This workshop introduces ultralight methods of writing simple, sharp and professional looking web sites. We shall use simple Dyalog tools to remove repetition from the source, and look at code for generating more complex sites. We'll also preview Dyalog 12.0 Unicode with a bilingual site in English and Japanese. Finally, we'll look at the use of WildServer to serve pages written by the server.

(W08) Kdb+ and Dyalog summary
Jeffry Borror, Adrian Smith (APL-385, UK) & Stephen Taylor

Jeffry Borror is the author of "q for mortals". Adrian Smith is the father of SharpPlot (nee RainPro) and NewLeaf, Stephen Taylor is an Agile Array Language Evangelist and the current editor of Vector. Together, they will help us explore the combined capabilities of kdb+, Dyalog, SharpPlot and NewLeaf.

kdb+ is a fast array-oriented database system which can be accessed through the k language, or as a relational data base using q notation. k can be viewed as a "reduced instruction set" dialect of APL, with focus on simplicity and performance. Dyalog is a dialect of APL which has grown to include object orientation, GUI tools and a wide variety of interfaces to other computing platforms or frameworks.

Together with our colleagues at Kx Systems, we have assembled a team of experts to present a full day workshop on the advantages of combining these to array-based products in order to quickly build high-performance database applications with high-quality graphical interfaces – all while remaining in an array – and domain-oriented programming mode. The workshop will kick off with presentations by the CTOs of Kx and Dyalog:

  • Simon Garland, (Kx CTO): 2 + 2 = 22 (for some values of 2)
    Simon discusses some of the areas where APL and kdb+ complement each other – and the benefits of staying within a similar mindset when forced to go beyond a single language solution to complex problems.
  • Morten Kromberg (Dyalog CTO): Fast, Vector-Based Front-end for kdb+
    Following on from Simon Garland's talk, Morten will demonstrate how Dyalog can be used to put a graphical front-end on kdb+ – and how Dyalog applications can use kdb+ as a fast database system.

Stephen Taylor, Jeffry Borror and Adrian Smith will then present a hands-on workshop showing how to combine kdb+, Dyalog, SharpPlot and NewLeaf to build spectacular analytical applications.

back to top


Copyright and Trademarks

UNIX® is a registered trade mark in the United States and other countries, licensed exclusively through X/Open Company Limited.
Windows® is a registered trademark of Microsoft Corporation in the United States and other countries.
Oracle® and Java™ are registered trademarks of Oracle and/or its affiliates.
All other trademarks are the property of their respective owners.

back to top