Dyalog '09 was held in Princeton, New Jersey, U.S.A., from 13-16 September 2009

Programme (PDF) Materials Presentation Videos

Dyalog Presentations

(01) Welcome and Opening Statement
Gitte Christensen, Managing Director (CEO)

(02) Technical Roadmap summary | materials | video (75 mins)
Morten Kromberg, Technical Director (CTO)

Morten will review Version 12.1, which will be released just after the conference – and talk about what Dyalog is planning for 2010 and beyond.

(05) Dyalog APL on UNIX: QAs and Hidden Gems summary
Andy Shiers, Chief Operations Officer (COO)

A trip through (mainly) UNIXversions of Dyalog APL, including something of the new build and QA processes. En route we will look at colours and I/O, running from scripts, and some features and configuration parameters that the QA and support team have discovered in the quiet backwaters of Dyalog APL.

Andy will talk about the new build and QA processes for UNIX, explaining how they fit in with the Windows ones, but at the same time give a quick tutorial on how I/O tables work. This will include putty and IME as well as colours and Unicode and things.

Andy will further explain that almost any parameter that can go in the registry can be defined as an environment variable in the server version – and what some of them do...and finish up with a brief look at the Wine version.

(06) The V12.1 IDE summary | video (49 mins)
John Daintree, Chief Architect

John will be demonstrating some of the new features in the Dyalog editor and tracer. These new features make it much easier to edit large functions and classes.

(09) A New Introductory Book on APL summary
Gitte Christensen, Managing Director (CEO) & Bernard Legrand

For more than two years, Bernard Legrand has been working on a modern "Introduction to APL", based on Dyalog APL. A team of reviewers from SimCorp (Kim Andreasen) and Dyalog (Dan Baronet, Pete Donnelly, Gitte Christensen and Morten Kromberg) have done their best to hinder, er..., assist Bernard in getting the job done. It has taken more than twice as long as expected, but at Dyalog '09 Bernard and Gitte will present a "Final Draft" of the book, explain the goals of the project and hopefully start taking orders for the first edition, which will be printed shortly after the conference.

(11a) ⎕XML summary | materials | video (45 mins)
Richard Smith

XML is a general purpose specification for handling structured data and is increasingly used to store documents and to exchange data between applications. ⎕XML is a new system function which greatly simplifies the task of importing and exporting XML from an APL application by converting to and from an array which is relatively easy to process, as this presentation will demonstrate.

(11b) File Journaling Phase II summary | materials
Richard Smith

Component files can now be created which are far more resilient to damage caused by system failures, meaning they can be self-repairing, or repairable using the new system function ?FCHK. The various new options available are discussed.

(15) Complex Numbers Implementation Stories summary | materials
Roger Hui

Dyalog 13.0 will have an ISO Extended APL compliant implementation of complex numbers. We recount some interesting stories from this implementation, stories that they don't tell you in school.

(18) Selling Proposition for APL summary | video (26 mins)
Gitte Christensen, Managing Director (CEO)

The APL community has always made bold statements about the productivity of APL as a programming language. Recently, emerging software development methodologies are starting to look surprisingly like the ways we have always been developing APL applications.

This talk presents a study into the general state of software development. Have many years of research into and work developing frameworks and methodologies finally resulted in a mature software development profession? The answer is "yes" and "no", and in particular the issue of complexity provokes some insight into why APL will stay competitive for a long time to come.

(19) Complex Numbers summary | video (65 mins)
John Scholes

What is a complex number and why would I want one? John will attempt to convince you that these numbers provide a simple, natural and useful extension to Dyalog.

(26) The Rank Operator summary | materials | video (44 mins)
Roger Hui

Roger will give a talk about the Rank Operator – an Idea Worth Borrowing from J.

back to top


Invited Guest and User Presentations

(03) Keynote: Vectors – Lightning in the Clouds summary
Dave Thomas (Bedarra Research Labs, Object Mentor at Carleton University and Queensland University of Technology – www.davethomas.net)

Dave Thomas has a wide spectrum of experience in the software industry as an engineer, consultant, architect, executive and investor. He is the Founder and Chairman of Bedarra Research Labs – a company specialising in emerging software technologies and applications. Bedarra provides virtual CTO and CEO, as well as directors, advisors and business mentors to support new initiatives. He is also the Managing Director of Object Mentor – a company specialising in the training and deployment of agile and object-oriented software development methodologies.

In this talk we briefly discuss global trends in software development and the barriers facing major software development efforts. Next we discuss Cloud Computing platforms and the programming challenges associated with using them. We argue that there is a large class of business and engineering applications that need a radically different approach. Domain oriented programming supports rapid development of high performance applications by small teams of knowledgeable end users. We discuss the essential features of domain oriented infrastructure and application programming. It is our thesis that vector functional computing is a core part of a DOP infrastructure.

(04) A Programming Language – The Movie summary
Catherine Lathwell (Lathwell Productions)

Catherine Lathwell's involvement with APL and the APL community is literally a life-long experience. As the daughter of Richard Lathwell, one of the original developers of APL recruited by IBM in 1966, she officially started her career at age sixteen as a summer student in the Operations department of IP Sharp in Toronto in 1981. This first job evolved over the years into a fully-fledged career where she moved through the ranks as a Sharp APL in-house support representative, APL programmer and research and development manager with Reuters. Who remembers MRD?

At the same time, Catherine nurtured a love and interest in the visual arts and storytelling, graduating with distinction from the University of Toronto in Fine Arts and English Literature in 1994. Then, in 2003 she entered an exclusive post graduate programme at the Canadian Film Centre specifically designed for people, like herself, with competencies in both technology and the arts. It was while she was in this programme that she fell in love with video and began dreaming of making a film about APL.

APL in Cyberspace
Catherine will talk about APL's presences in cyberspace, and how the by-products from her film are filling some spaces there. She will also premiere an excerpt from her latest short interview.

(07) Building an APLer (intro to the online tutorial) summary | materials | video (35 mins)
Gary Bergquist (Zark Incorporated)

Given the scarcity of APL programmers, it's good to know there is a practical alternative to an exhaustive search. You can build one, and the process is not especially daunting or time-consuming.

Gary Bergquist will take you through the steps Zark follows to fill an open APL position. The blueprint and instructions are straightforward, the effort is nominal, and the results are outstanding. Moreover, by building your own APLer, you get exactly what you're looking for, a programmer "built to spec."

One of the tools used by Zark in this process is the Zark APL Tutor, a computer-based training program that has been training APLers for years. Now it's available on the Internet; it speaks Dyalog APL and it's free!

(08) APL in Second Gear summary | materials | video (38 mins)
Gary Bergquist (Zark Incorporated)

If you use and love APL, as we all do, it's normal to wonder and worry about its future. Are APL and I on the same evolutionary path? Will we grow together or will we go separate ways? To answer these questions, we need to do some soul-searching.

What is the point of APL? What sets it apart? What defines its life cycle? Who are the players in a successful APL application? What roles do they play? What role do I want to play in that drama? How can I prepare myself?

In this session, we will wrestle with the answers to these questions, as Bergquist presents his own world-view. In that view, he imagines the sound of the APL engine whining like crazy, waiting for us to finally shift into second gear, and pull away from the pack.

(13) Introduction to Design Patterns for APL Developers summary | materials
Alexander Balako

With Version 11 Dyalog introduced object orientation. This allows for defining classes in APL. In addition to providing a powerful tool of thought, APL classes provide much better integration with .Net, allowing APL classes to derive from, or be used as base classes of .Net classes written in C# or other languages (for .Net versions 1.1 or 2.0). With the introduction of object orientation, APL Developers were also faced with the challenge of considering application development using object oriented programming.

Design patterns are reusable templates of solutions for commonly occurring problems in software design. In this presentation Alex Balako will demonstrate the usability of patterns and how they may help to solve design problems.

P.S. If you haven't yet had the opportunity to familiarise yourself with the concept of object oriented programming using Dyalog we can recommend that you read Introduction to Object Oriented Programming for APLers which you can download for free on http://stores.lulu.com/dyalog.

(14) Acre – APL Code Repository summary
Phil Last

Written entirely using dynamic functions, Acre is a fully-featured source code management system that uses a remote FlipDB™ relational database to store functions, operators and namespace/class scripts in a number of tables that (can) reflect the namespace structure of your application. It:

  • works via TCP using Conga to manage the efforts of an international team of developers
  • protects developments by saving both locally and remotely
  • prevents "leapfrogging"
  • overcomes change conflicts between users by facilitating merging of concurrent changes
  • permits multiple concurrent development sessions by a single user

Changes are reversible across consecutive sessions at both local (private) and global (public) levels

(16) Winning the Dyalog Programming Contest 2009 summary | materials | video (58 mins)
Ronald Ping Man Chan

Before the Dyalog Programming Contest, Ronald Ping Man Chan, soon to be Bachelor of Engineering (Mechatronics), University of Auckland had no APL experience. He is going to tell us the story of how he learned the language and how he attacked the problems in the contest so well that he ended up winning first prize.

(17) Building a Web Application with Dyalog APL and ASP.Net summary | materials
Robert Pullman (Managed Account Performance Solutions)

Recently Robert Pullman collaborated with an ASP.Net developer to build a web application. The APL components turned out to be remarkably easy to write. The learning curve was surprisingly shorter than with other platforms (DOS, Windows, UNIX). The APL components perform financial calculations without any burden of presentation, communication or database interaction. In this presentation Bob will focus on what it takes to create APL components for web applications.

(20) Bio-Check (or, I'm feeling well and can prove it) summary | video (25 mins)
Gilgamesh Athoraya (Optima Systems)

Gilgamesh is a relatively new entrant into the APL scene but he has, as they say, taken to it like a "duck to water". In the few years he has been working with Optima he has shown an aptitude for the language that is second to none and has great rapport with our customers. When he is not programming in APL, Gilgamesh works toward his Masters which forms the basis of his talk.

In the medical industry there is often the need to monitor the progress of patients or participants in clinical trials. Traditionally this has been very hit and miss, and in some cases quite invasive. The information collected was often of low quality and sometimes arrived too late to be of any use.

The idea was to find a way of collecting a variety of Bio-Markers (temperature, pulse, heart rate, and so on) together with user appended information then collect, transmit, analyse and report all in real time. This is actually not a new idea and has been marketed by a variety of companies for some time, however, the use has primarily been for the family practitioner rather than the pharmaceutical industry.

The solution being adopted is to create a number of Bio-Sensors which will transmit collected data via Bluetooth connections to a PDA or SmartPhone running Dyalog's Pocket APL. Once collected, the information can be displayed as appropriate and the patient can annotate if they so wish. All of the collected data is then transmitted conventionally to a web server where the researcher can analyse then report as needed.

The overall solution uses many different skills and technologies and has been an interesting project to work on. It also allows the easy interface of the collected data with existing analysis and presentation tools – also written in APL of course.

(21) APLAPL: A Programming Library in APL summary
Kai Jäger

Sharing code is something quite unusual in the APL world, and always has been. For decades technical reasons could be blamed: integrating someone else's code was close to impossible due to potential name clashes and side effects. With the introduction of classes in Dyalog this is history. It is very easy now to use code written by someone else.

The APLAPL project tries to establish an open source library with classes designed to solve every-day tasks every programmer is likely to face. It follows a number of standards to ensure quality of both code and documentation. These standards will be discussed. In a small sample project Kai will show us how to find, download, get acquainted, test, integrate and use some of the classes available on APLAPL.

(22) Put an Array on your Tray – Meal Planning with Pocket APL summary | materials | video (37 mins)
Richard Procter (APL Borealis)

Mealtracker Dietary Software has used Pocket APL to deliver hand-held menu planning and meal consumption data collection at U.S.-based long-term care facilities for several years. Detailed room-to-room feedback collected by nutritionists allows these facilities to fine-tune their menu preparations and food inventory, reduce food waste and accurately deliver correct daily nutrition to facility residents. Two Pocket APL applications have been developed and continue to evolve – now deployed at several institutions. Various challenges and lessons encountered along the way will be discussed.

(23) Keynote: Arrays in Real Life summary | video (63 mins)
Gert Møller (Array Technology)

Many diseases are multi-genetic in the sense that only certain combinations of SNPs (and associated genes) will cause the disease. The big technological challenge is that a huge number of SNP combinations must be tested to identify groups of patients with common SNP profiles. Nevertheless, we have succeeded in identifying certain SNPs causing bipolar disorder. This work has been carried out in a joint research project between Array Technology A/S and the Institute of Neuro Science in Copenhagen. Gert will present the results of the project and the use of nested arrays for representing complex SNP patterns – and some benchmarks with the new PEACH operator in Dyalog.

(24) The Key West Project – Why my mother-in-law has special serving dishes for corn on the cob and I don't – or – Technology Stack: APL, APL, APL and APL summary
Paul Mansour (The Carlisle Group)

Conventional wisdom has it that it is best to use the right tool for the right job. Scorn is heaped upon those troglodytes who, armed only with a hammer, treat every problem as a nail. But every tool comes with costs: a cost to purchase, a cost to learn how to use, a cost to integrate with other tools and a cost to maintain. These costs are often drastically underestimated and may outweigh any benefits. More importantly, a program is not a hammer and programming is not carpentry. Programming is programming, software is software, and analogies to all other forms of human endeavor break down on even cursory inspection. However, these observations are only tangential to the point of this presentation, which demonstrates wrapping up the awesome power of the Dyalog APL interpreter in a few trivial cover functions to create a new product without cheating on your licence agreement. Topics to be covered include relational database theory, domain specific languages and interpreters, object-oriented programming and of course, dynamic functions. There will be nothing about XML. This is a PowerPoint-free presentation.

(25) Tables, Buttons, Flash and Spinning Images summary
Chris "Ziggi" Paul (The Childcare Company Ltd.)

After explaining why APL was chosen for a non-traditional APL application last year, Ziggi returns to show how ASP.NET can act as an effective GUI for an APL engine, using as an example "The LASER", an e-learning system designed for nursery practitioners by The Childcare Company. He will demonstrate the various techniques used in the "Big & Chunky" visual style to make an APL system look modern and accessible to people with little or no IT experience. The LASER system was designed to meet the various learning styles so uses video, games, web hyperlinks and good old-fashioned text to make sure that everyone is catered for.

The system uses Flash Plug-in, embedded video and even utilises Visual Basic freeware where useful, all controlled and monitored from Dyalog APL.

(27) Emulating an APL+Win Application in Dyalog APL summary
Joachim "JoHo" Hoffmann (J Austria)

In this talk the experiences of emulating an APL+Win GUI application, namely ConDim by Thomas Lorenz ZT GmbH in Europe, are reported. ConDim is an intuitive program, used by civil engineers to check compliance with various structural standards, e.g. Euro Standard. The APL+Win emulator running in Dyalog APL V12 Unicode is presented and the rationales it is based on, in contrast to a complete rewrite. We close with a discussion of future improvements of the APL+Win emulator.

(28) The "Scratch" Multimedia Programming Environment for Children using APL summary | materials
Steve Halasz (Fiserv)

This talk explores a new way of writing APL, inspired by the "Scratch" multimedia programming environment for children developed by the Lifelong Kindergarten group at MIT Media Lab. A prototype APL programming environment will be demonstrated which supports features found in Scratch: creating and editing expressions using "drag and drop" within independently executing tabbed "workspaces" associated with animated graphical objects.

(29) Cuda Libre – A Pioneering Approach to Parallel Array Processing in Quantitative Finance summary | materials
Yigal Jhirad & Blay Tarnoff

Yigal Jhirad and Blay Tarnoff will discuss the application of CUDA within APL to leverage the NVIDIA GPU parallel processors and supercharge quantitative and derivatives trading and risk models. APL-CUDA is a powerful means to exploit existing and future multi-processor technology and more efficiently drive mathematical and econometric applications.

Yigal D. Jhirad is a senior vice president at Cohen and Steers. He is a portfolio manager and director of quantitative and derivatives strategies. Prior to joining Cohen and Steers, he was an executive director and head of portfolio and derivatives strategies at Morgan Stanley. He was responsible for developing, implementing and marketing quantitative and derivatives products to hedge funds, active and passive funds, pension funds and endowments.

Blay A. Tarnoff is a senior project manager and applications developer. He specialises in array based languages and has developed equity and equity derivatives applications for program trading, proprietary trading, quantitative strategy and risk management. He was most recently a senior consultant at Morgan Stanley where he developed quantitative and real time trading and risk technology.

(30) Amazing Performance Looms summary | materials
Robert Bernecky (Snake Island Research Inc)

Array languages, despite their proven advantages in time-to-solution and terse expression, continue to have a reputation for poor performance compared to imperative languages, such as C and Fortran. That reputation is about to change, thanks to recent advances in array compilation theory, APL's inherent parallelism and the many-core computers that are now commonplace.

We will showcase the state of the art of array languages, pitting interpreted APL code against compiled APL against Fortran 77 and Fortran 95, in both serial and parallel environments. We will also outline how we propose to close the remaining performance gap between interpreted APL and compiled array languages.

(31) Young APLers Panel – New Views on APL summary | materials | video (60 mins)
Moderator: Stephen Taylor
Panellists: Ronald Ping Man Chan, Brendan Duncan, Kendall Alvarez Eskew

This year, we have assembled a panel of APL programmers who either started using APL recently, or who regularly update their view of APL by combining APL with other technologies. In other words, people who can remind those of us who now take APL for granted what it was that they found attractive about APL – but also let us know about things that they think we might want to add or consider changing. We're hoping that this panel can point out a few tricks that old dogs should consider – or even, dare we say, deliver a couple of well aimed kicks! Each of our 3 panellists will have 4-5 minutes to present their "position", leaving 20 minutes for what we hope will be a lively discussion.

Ronald Ping Man Chan – Winner of the Worldwide Computing Programming Competition 2009 – soon to be Bachelor of Engineering (Mechatronics), University of Auckland. Before the Dyalog Programming Contest, Ronald had no APL experience.

Brendan Duncan – Brendon is a new APL convert, having used it over the past year as a component in risk management software at a Fortune 500 company, SunGard Data Systems. In his decade in the software industry, he has developed commercial products in 10 different languages on various platforms, all the way from 8-bit microcontrollers, to mobile devices, to enterprise-level PC applications.

Kendall Alvarez Eskew – Kendal is an associate software developer with Fiserv Investment Services. He started studying computer science at New Jersey Institute of Technology, in Newark, New Jersey in 2004. After a year of taking Java classes, he switched to a degree in Mathematics of Finance and Actuarial Sciences, graduating cum laude in December of 2008. Before graduating though, he found he had returned full circle, working as an APL programmer at Fiserv Investment Services. With little programming experience, and no programming practice for several years, APL baffled him at first glance, but came quickly into focus after a little study. Kendall has worked at Fiserv for a little over a year, and has used that time to expand his knowledge of APL, UNIX, and more recently Dyalog APL for Windows, Python, Haskell and Ruby.

back to top


Workshops and Tutorials

(C01) Introduction to APL Part 1 summary
Bernard Legrand

Want to get a quick look into APL? Sure?

It is our experience that newcomers to APL quickly feel at ease with the notation methodology used in the language. It lends itself to clear explanations, simple examples and strong landmarks.

This course is developed for beginners who want to become better acquainted with APL. At the end of the day you should have gained enough insight to make it easy for you to continue your study of APL on your own – with the help of Dyalog's new Tutorial.

The course will start off using the easy-to-understand expression 2+2 (perhaps 3+3 for advanced attendees!) From that starting point you will discover the basic concepts, vocabulary and typical methods of APL, as they are constantly applied to simple daily problems.

Continued in course C05...

(C02) Introduction to Object-Oriented Programming summary | materials
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.

(C03) Introduction to D-Functions (dfns) summary | video 1 (124 mins) | video 2 (67 mins)
John Scholes

Since their introduction in 1996, Dyalog's direct-definition functions ("dfns") have grown from an experimental toy to a notation used to implement large pieces of commercial software. Dfns 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).

John will start with an easy introduction for the first couple of hours; discuss where the use of dfns is appropriate; and finish with some fireworks.

(C04) Building a (Basic) APL Web Application – Part I summary | materials
Paul Grosvenor & Gilgamesh Athoraya (Optima Systems)

The aim of this workshop is to take you from the very basics of web application design through to building a dynamic web-based application with an APL back-end, no IIS or Internet Explorer but just a Flash player – about as light as you can get. Of course there are many ways of coding for the web and this will be just an example of one of them. However the use of Flex gives the ability of some interesting new GUI objects and Flash providing alternative delivery options to the developer.

By the end of the day we hope you will understand the essential concepts of web applications and be able to modify your own page(s) at will. In addition, by introducing Flex, we hope to open up a whole new world of GUI interfaces for you to explore.

We will introduce the key ideas behind a web application and what goes on to make it work. You will be allocated a domain name and by the end of the morning should have a "real" web site up and running.

We start the day with some simple ideas for a basic web page and show you how to publish to the server. Once we can all see the results on the web we follow by the addition of some callbacks and graphical objects. There should be plenty of time for everyone to experiment, modify code and make their domain name their own.

As part of this work we shall be making use of Conga, Mildserver and RainPro and hopefully show how they can all be used to provide a basic web application very easily.

Continued in course C07...

(C05) Introduction to APL Part 2 summary
Bernard Legrand

Continued from course C01...

Discover some more "advanced" features such as computing techniques which may seem reserved for sophisticated mathematicians. However, you will learn that they can appear to be as simple as they are useful. You should also discover that APL is a tool which helps to open doors, windows and minds. The multiple solutions offered by APL for a single problem are not necessarily better than those offered by other languages, but they're different. Because they are different, they enrich our thought processes and help us find innovative ways of solving problems for which there are no "out of the box" solution.

This is probably also the reason why APL programmers never get tired of APL. We aim for you to come away from this full day course with the same feeling and an enthusiasm for continuing your venture into the world of Dyalog APL.

(C06) Source Code Management using SALT and SubVersion (part I) 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. SALT makes it easier to share code and take advantage of a variety of source code management tools developed for users of other programming languages. Dyalog is moving towards the use of SALT as the primary delivery mechanism for code libraries. With version 12.0.3, SALT was enhanced to support the management of APL code which is not part of namespace or class scripts, so SALT can now be applied to all applications written in Dyalog.

The workshop will introduce SALT and show how it can be used together with an industry standard source code management system.

(C07) Building a (Flashy) APL Web Application – Part II summary
Paul Grosvenor & Gilgamesh Athoraya (Optima Systems)

Continued from course C04...

This afternoon starts with a review of the morning's work and a look at some of the built applications. We now build up from the morning session to show how a Web App might be constructed using APL, Flex and Flash. To this end we will initially replace the front end GUI so far built with a Flex script and then add a dynamic Flex object to the form. Finally, we will compile this script into Flash and show the whole App running with APL behind but with no browser, just a Flash player.

(C08) Office Automation using Dyalog – Combining Excel, Word and other tools with Dyalog applications summary | materials | video 1 (95 mins) | video 2 (95 mins)
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.

(C09) Source Code Management using SALT and SubVersion (part II) summary
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. SALT makes it easier to share code and take advantage of a variety of source code management tools developed for users of other programming languages. Dyalog is moving towards the use of SALT as the primary delivery mechanism for code libraries. With version 12.0.3, SALT was enhanced to support the management of APL code which is not part of namespace or class scripts, so SALT can now be applied to all applications written in Dyalog.

The workshop will introduce SALT and show how it can be used together with an industry standard source code management system.

(C10) Multicore Support – Application Tuning Workshop summary | materials
Morten Kromberg, Technical Director (CTO)

Performance – and the exploitation of hardware containing multiple processors – has been a focus of Version 12.1 development efforts. The workshop will review the performance enhancements in Version 12.1, show how to use the new "Fork" I-Beam and the PEACH (Parallel Each) workspace. There will also be a general introduction to Dyalog application tuning using APLMON and ?MONITOR.

(C11) Using the Microsoft.Net Framework summary | video 1 (99 mins) | video 2 (55 mins)
John Daintree, Chief Architect

Dyalog 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).

(T12) Building an ODBC Data Source in Dyalog APL summary | materials | video (56 mins)
Morten Kromberg, Technical Director (CTO)

Dyalog has developed a prototype of a framework which allows your application to look, taste and smell like a relational database. The SQAPL Server allows reporting on live APL data and analytical output from tools like Microsoft Excel or – Access, Crystal Reports – and virtually any programming language – in fact, any client application which can use ODBC, JDBC, ADO or ADO.NET. The interface fully supports SQL, including database updates and inserts, your APL functions as "stored procedures", and creation/modification of tables (DDL statements) – and requires very little SQL expertise to set up.

(T13) Session Whizzbangs summary
John Scholes

John will discuss a ragbag of tricks and techniques accumulated over decades of typing into APL sessions. Please bring along your own favourite tricks to share.

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