Welcome to Dyalog '12

Gitte Christensen, Managing Director (CEO)
Welcome to the Dyalog '12 user conference in Elsinore, Denmark.

Technical Roadmap

Morten Kromberg, Technical Director, Dyalog Ltd.
Morten shows the technical roadmap for Dyalog over the next year.

Segmented Scans and Nested Data Parallelism

Andrzej Filinski, Associate Professor, Department of Computer Science, DIKU (DK)

APL's vector-oriented programming model appears well suited for execution on SIMD-style parallel hardware, such as GPGPUs. However, some cross-element operations, such as scan or compress, appear inherently sequential because of cumulative data dependencies and even nominally independent computations, such as applying a complex (perhaps even recursive) function to each element of a vector, appear to require general MIMD-style parallelism, precluding efficient implementation on throughput-oriented, data-parallel hardware. This talk will sketch how a simple but non-trivial data-parallel algorithm for computing (nested) scans of associative functions can serve as the cornerstone of efficient, data-parallel implementations of a wide variety of seemingly non-uniform computations in array-oriented languages - obviously including, but not limited to APL.

Potential Version 14.0 Features

John Scholes & Roger Hui (Dyalog Ltd)
Potential version 14.0 language features are described: forks, merge, ⍤, ⍯, ≢ and ⍳.

An Array Editor for Dyalog APL

David Liebtag, davidliebtag.com (USA)
Dyalog version 13.2 will include an Array Editor that supports editing character, numeric, and nested arrays. The Array Editor display of arrays is similar to the output of the DISPLAY function. However, unlike DISPLAY, the Array Editor supports modifying the data. Data can be overtyped and elements can also be rearranged using copy, paste, and APL primitives. This presentation will include demonstrations of the Array Editor and some discussion of future enhancements.

State-Free Programming

John Scholes (UK)
Frazzled? Seeking serenity?
Come and unwind for half an hour in the tranquil world of definitions, where nothing changes...

See Johns full Sudoku solver here: http://www.youtube.com/watch?v=DmT80OseAGs

Fire (Find and Replace)

Kai Jäger, APL Team (UK)

Fire stands for "Find and Replace". Fire offers plenty of useful features making it easy to refine a search until you get exactly what you want. Fire's main feature however is the "Replace" part which offers precise control over what is going to be replaced. Fire is certainly helpful for any kind of programming task but is particularly useful when dealing with legacy code: improving code quality in a legacy system almost always implies search and replace, and Fire makes this significantly easier.

Organizing Disorganization

Elena Paviotti, APL Italiana (Italy)

Fighting the growing chaos in a growing company.

Working with Sparse Data

Lars Stampe Villadsen, SimCorp A/S (Denmark)

This presentation will illustrate some techniques used in SimCorp Dimension for representing sparse data, including the motivation for not using native Dyalog structures. The presentation will focus on storage methods, typical operations and performance and space impact for the application using sparse data.

Secure, High Performance Component Files using The Dyalog File Server

Morten Kromberg, Technical Director, Dyalog Ltd
Using APL component files over a local area network is often problematic due to low bandwidth, dropped connections, insufficient control over security, and poor performance of file holds and locks. The Dyalog File Server uses a client/server architecture similar to the SHARP APL or STSC SHAREFILE systems on "mainframe" computers. Because all file I/O is performed on exclusively tied files on the server, multi-user performance is improved, security is absolute, and overall reliability is significantly improved. A browser-based front end allows real-time instrumentation and management of the file system.