Dyalog '06 was held in Elsinore, Denmark, from 16-20 October 2006

Programme (PDF) Materials

Dyalog Presentations

(01) "Open" Source Code Management summary | materials
Morten Kromberg, Technical Director (CTO)

In Version 11.0, classes and namespaces may be represented as scripts, which can easily be stored in Unicode text files in a format called UTF-8. This talk will show how this makes it possible to easily integrate APL with mainstream development tools without abandoning the dynamic way of life which APL users take for granted. Opportunities for a new generation of easily shared code libraries will also be explored, and a call to arms will be sounded!

(03) 64-bit Version summary | materials
Geoff Streeter

The child has been imprisoned and the millstone belongs around the neck of WinTel.

Enhancing the power of APL in a world currently populated by geriatric 32-bit operating systems.

Celebrating diversity: Dyalog interoperability: How the sane and lucid communicate with the old and senile.

This session is rerun from Dyalog '05.

(04) Language Extensions summary
John Scholes

A review of version 11.0 non-OO language extensions.

This session is rerun from Dyalog '05.

(05) Dyalog under Wine summary | materials
Nicolas Delcros

Replacing the proprietary MainWin library by the free (GPL) Wine library for the Linux port.

(07) Functions as Results summary | materials
John Scholes

At present, attempting to return a function as the result of a dfn generates a SYNTAX ERROR. Using an experimental version of the interpreter, John explores the consequences of removing this restriction.

back to top


Invited Guest and User Presentations

(02) Version 11 in Production Environment summary
Stephen Taylor & Gilgamesh Athoraya (Manita)

The presenters have been redeveloping this summer in Dyalog 11.0 a long-serving application originally developed on a mainframe and subsequently ported to PCs. The redevelopment goals are:

  • to reduce code volume by one order of magnitude
  • to encode simplifying abstractions not visible to the original designers
  • a layered architecture, including an executable domain object model underlying batch-processing scripts, a GUI and automated test suites
  • a formal source-code management
  • GUI implementation to allow cheap deployment to ASP.NET encode data as XML files
  • to produce high-quality documents as PDFs, or editable documents in the OpenOffice and Office 2003-2007 XML formats

(06) Architecture of IDELIANCE – A comprehensive semantic networks server entirely developed with Dyalog summary
Denis Poisson (Alsee) & Dr Jean Rohmer (Thales Communications)

In 1993, we started to design a new kind of personal information management system (PIMS) using the "semantic networks" concept borrowed from Artificial Intelligence. It has been sold to customers for Market Intelligence, Patents Analysis, and Knowledge Management. By 2000, it was transformed into a multi-user HTTP server, allowing for cooperative information and knowledge processing directly by end-users. Now it is a Thales product, and is used by several Military Intelligence Units.

We will explain how and why we chose Dyalog APL in 1993, and why it is still the case today. We will share our main design decisions and we will outline potential evolutions. Some suggestions will be made about the algorithmic needs for symbolic/networked information processing.

(08) Describing Complex Products as Configurations using APL Arrays summary | materials
Lars Wentzel (Mandator)

Complex products like cars and trucks are preferably described as configurations rather than as a limited list of products. The products are almost endless in the possibility to create different variants. The large number of markets, the speed at which the offer changes, the extensive use of design features and the increase in electronic and software equipment all contribute to the complexity. The intense competition also increases the trend towards specific offers to the customers. This information is used for a lot of purposes in an automotive company. Keeping this information updated is a difficult and heavy task.

Working for Volvo Cars and Volvo trucks we describe offer of vehicles and how it varies in time. This is done using complex nested arrays where the possible combinations are described as well as technical restrictions. This array information is then published in a server offering web services to other applications, for example, verification of a car order.

Currently we develop our own tools in this area with our own description method. The C-grid tool is used to update and maintain configuration data. One of the specific functions is that we directly verify the complete set of rules as they are updated.

The C-master tool publishes this information and provides services to be used for planning, sales configuration, ordering, pricing, technical information etc.

I will describe some of the Dyalog APL technology used for configuration handling as well as the use at the customer. I will also give demonstrations of our products.

(09) An APL Keyboard for the Future summary | materials
Adrian Smith (Causeway)

The positioning of the APL symbols on the physical key tops has been a progression of historical accidents, which has left us with a layout that is far from mnemonic for new users. The default layouts supplied by APL2000 and Dyalog cannot be used in other applications (such as Word or Outlook) because of conflicting demands on either the Alt or Ctrl keys.

This talk suggests a radical rethink along the lines proposed by Adin Falkoff in 1989, but taking account of modern Windows conventions and internationalisation issues. Drivers are available for both Dyalog APL and Windows applications in general.

(10) Getting APL Past the Gatekeepers summary
Paul Grosvenor (Optima Systems)

Over the years I have been working in large organisations where everyone dances to the tune of "Strategic Direction" and that old classic "IT Infrastructure". Trying to persuade anyone in such companies to adopt something a little different is like pushing water uphill with chopsticks – difficult and often futile. The benefits to the corporation, the contractor and to APL in getting up that hill can be, and often are, huge.

In the first part of this presentation I will discuss of how we have succeeded in climbing that hill and the methods that have served us so well. OK, this is a very high hill, and we are not at the top yet, but now some managers are giving us buckets to carry the water even if others just provide new chopsticks.

During the second part of this presentation I will open the discussion out to the floor and hopefully explore some of the experiences of others.

By the end I hope that we will have had an informative and light-hearted discussion of issues surrounding the adoption of APL systems together with a few new ideas to take home.

(11) Shopping Cart for IT Services – Implementation of a web application with Dyalog summary | materials
Ronny Leopold (DATEV eG)

The Shopping Cart for IT Services is a central Procurement Tool used and developed at DATEV Corp. It is implemented using Dyalog APL as a Web Application based on IIS 5.0, storing its data on SQL Server. Special emphasis has been placed on high reliability, fully integrated interfaces and automated business workflow.

The presentation will discuss implementation details, the business workflow and steps for stability and quality assurance. It will also examine the use of error trapping with APL as an interpreter language.

(12) HARRYVectorServer: a powerful Datamart for Business Performance Management summary | materials
Paul Landucci (Harry Software)

HARRYVectorServer is a dedicated datamart for data analysis allowing exceptional performances on data analysis and extraction. Designed with Dyalog, it allows numerous users – simultaneously – to access huge amounts of data residing on Windows, UNIX and Linux, for business intelligence purposes.

Through the HARRYSuite it provides end-users real autonomy to conduct their own studies or manage their measures. It also provides a very fast and sophisticated WEB application design facility to deliver interactive BPM functions or Dashboards to any users through your Intranet or extranet. Paul will show a live demo during the presentation.

(13) The Causeway to Vista summary
Adrian Smith (Causeway)

Vista brings new tools and new challenges. RainPro becomes SharpPlot and targets XAML instead of VML and SVG. NewLeaf gets compiled (speed, speed, speed) and does PDF font sub-setting and lots of new formatting tricks. Soon it will do XDOC and XPS which embed XAML charts in zipped XML documents. This talk is a good place to start finding out what tools you may need for graphics and reporting, and how to integrate them into your Dyalog 11 environment.

(14) Superspace summary | materials
Graeme Robertson (Graeme Robertson Ltd.)

Do we live in a space of more than 3 or 4 dimensions? Physicists are currently searching for super symmetric particles – sparticles such as squarks and leptons – whose existence could confirm that we live in a 10 or 11 dimensional universe. We exemplify our new multi-dimensional database system, written entirely in Dyalog APL, with simple superspace models as well as with more comprehensible ubiquitous multi-dimensional business applications. You may think of it as 'APL with labels'. An array is seen as a thoroughly labelled slice of a multi-dimensional database (or 'volume') and programs are operations on and between arrays. With this system, it is easy to manipulate very large multi-dimensional labelled volumes with unique colour-coded programs in order to produce arbitrary rectangular views and unique multi-dimensional graphical representations. The system can cope with data far more voluminous than the workspace size and giant-sized programming becomes simple.

(15) KPL summary
Simon Garland (Kx Systems)

Most APL users have heard of k, but very few have come into contact with it. Simon will talk about the history of k and give examples of how and where people use it to handle very large data volumes.

k (and more recently q) will be immediately familiar to APL users and yet on closer inspection there are interesting differences – we'll look at some of those and the reasons why some un-APL-like choices were made.

(16) APL, C# and Ruby: Can They Live Happily Together? summary
Richard Nabavi (MicroAPL)

Richard will discuss some of the new features being developed for APLX Version 4. Included in the presentation will be the first public showing of MicroAPL's language extensions for easy access to the .NET languages and to fashionable object-oriented scripting languages such as Ruby.

(17) APL Next – Visual APL summary
Fred Waid (APLNext)

Integrated with Visual Studio, Visual APL puts a session into Visual Studio, so exploring .NET is now as easy as using your APL session. Of course, Visual APL is also a first class .NET language which creates CLS compliant assemblies and makes use of no unsafe code. Whether it is taking advantage of the Forms Designer, WebProject Designer, ClickOnce deployment or a host of other designers and features in Visual Studio, or simply writing traditional APL code, Visual APL moves APL into the future, ready for Vista, Avalon, 64-bit and all of the new technologies Microsoft is releasing this year. Visual APL is also cross-platform compatible, so taking advantage of a new Macintosh or Linux machine for development or deployment is now a reality.

(18) A Simple Web Server for APL materials
Stefano Lanzavecchia (APL Italiana)

back to top


Workshops and Tutorials

(W01) Office Automation with 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, and will later be joined by Guest Stars like Paul Grosvenor, who will combine APL with tools like VSpell, Graphics Server and UltraCompare.

(W02) APL and Relational Databases: Achieving Both Flexibility & Performance summary | materials
J. Merrill (Analytical Software Corp.)

Writing APL applications that work with SQL-based database offers both challenges and opportunities. How much do developers want and need to learn about SQL and the particular database system(s) targeted by the applications they write? Retaining flexibility in the choice of back-end can both simplify developers' view of the world and reduce the learning curve involved with SQL. However, a detailed understanding of particular database implementations (and the APL database interface) provides opportunities for greater control and higher performance. The course will discuss techniques for developing a "data layer" that can provide a good balance between those seemingly orthogonal objectives.

(W03) Integrating with the Microsoft .NET Framework 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). Note, however, that if web pages are your primary interest, you should attend the course on Web Applications.

(W04) Writing Web Applications in Dyalog...with and without Microsoft .NET summary
Morten Kromberg, Technical Director (CTO)

Two fundamentally different approaches can be taken to implementing web pages using Dyalog. Microsoft IIS is a framework which manages web pages based on scripting languages, typically Visual Basic. IIS is a comprehensive environment which manages sessions and security, provides a class library of "Web Controls" which can be used from APL, and can also call code written in scripting languages to simply generate HTML.

At the other end of the spectrum, Dyalog provides a TCPSocket object that can be used to implement a Web Server "from the bottom up", managing the HTTP protocol in APL and generating the entire HTML for each page using APL. Simple tools can be coded in Dyalog APL, providing a lightweight and portable solution across all platforms where APL is available.

This course will introduce, and discuss the pros and cons of, the two approaches.

(W05) Introduction to Object Oriented Programming using Dyalog version 11.0 summary | materials
Dan Baronet

Version 11.0 of Dyalog introduces Classes to the APL language. This course takes a pragmatic APLer's-eye-view of object orientation and, although it will introduce a little OO theory, the focus of the course will be on identifying situations where OO can be a useful tool of thought or implementation for APLers.

In the second part of the course, Dan will be joined by Stephen Taylor, who will talk about his experience in converting an APL Application "framework" using beta releases of Version 11.0.

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