Documentation Centre

All our documentation is available free of charge in electronic form; most of the content referenced on this page is also available from the Help|Documentation Centre menu item in Dyalog. Printed versions of selected documents are available from lulu.com, and Bernard Legrand's Mastering Dyalog APL is available from Amazon.

Viewing Tips

Viewing pdf files requires Adobe Reader.

By default, Microsoft Windows blocks access to downloaded Compiled HTML Help (.chm) files. To enable access, right-click on each downloaded file in Microsoft Windows explorer, select Properties from the drop-down menu and click Unblock.

Table of Contents

Unless otherwise mentioned, the documentation on this page is for Dyalog version 14.0 and components shipped with that release. For earlier versions, see the links at the end of the page.

For each document, a summary provides a brief description and a statement of the level of understanding expected from the reader. You can toggle the display of each individual summary, or for all documents at once:
Display all summaries Hide all summaries

Core Documentation

These documents describe Dyalog in its entirety, including using the user interface, the minutiae of the language and efficient program construction. Online help is available at help.dyalog.com.

  • Dyalog Language Reference Guide (summary)

    This document details the individual elements that form the 'vocabulary' of the APL language. It explains every primitive function, primitive operator, system function, system variable, system command and error message in Dyalog.

    It is assumed that the reader has a reasonable understanding of both mathematics and Dyalog.

  • Dyalog Programmer's Reference Guide (summary)

    This document details the syntax that forms the 'grammar' of the APL language. It describes the viable values that can be used in expressions and explains how the individual language elements can be manipulated through defined functions and operators, control structures and object oriented programming, as well as the way in which multi-threading can be implemented.

    It is assumed that the reader has a reasonable understanding of both mathematics and Dyalog.

  • Dyalog User Guide (summary)

    This document introduces the Dyalog user interface. It describes the windows, menu options, built-in tools and customisation possibilities that are available when running Dyalog on the Microsoft Windows operating system and explains the programming techniques, file storage mechanisms, integrity checking features and error trapping concepts available with Dyalog.

    It is assumed that the reader has a basic understanding of software terminology and a reasonable knowledge of Dyalog.

  • Dyalog Object Reference Guide (summary)

    This document describes the complete set of objects, properties, events and methods through which Dyalog supports the creation of a Graphical User Interface. This document should be read in conjunction with the Dyalog Interface Guide.

    It is assumed that the reader has a reasonable knowledge of Dyalog.

  • Dyalog Interface Guide (summary)

    This document describes various interfaces between Dyalog and Microsoft Windows, including the Multiple Document Interface (MDI) and docking, the Component Object Model (COM) interface and other Microsoft Windows applications. It also describes the underlying concepts, implementation rules and graphical resources available when creating a user interface using Dyalog. This document should be read in conjunction with the Dyalog Object Reference Guide.

    It is assumed that the reader has a reasonable knowledge of Dyalog

     


  • Dyalog Experimental Functionality – Compiler (summary)

    This document describes the compiler, introduced with Dyalog version 14.0 for the purpose of improving the performance of certain defined functions and operators, and details the syntax and restrictions of the current implementation.

    NOTE: The functionality and behaviour of the compiler has not yet been finalised and is subject to change by Dyalog Ltd at any time.

  • Dyalog Experimental Functionality – Parallel Language Features (summary)

    This document describes proposals for two new primitives, the function isolate and the monadic operator parallel, and a new type of array known as a future. These are designed to allow APL developers to take advantage of multiple processors to execute code in parallel.

    NOTE: Although version 14.0 only provides a model, the design is very close to being complete. All users with applications containing potential parallelism are encouraged to make use of this experimental implementation to help confirm the design and reveal any weaknesses that need to be worked on in the final implementation as part of the core language.

Microsoft Windows-Specific Documentation

These documents are specific to running Dyalog on the Microsoft Windows operating system.

  • Dyalog for Microsoft Windows Installation and Configuration Guide (summary)

    This document covers the installation procedure and configuration options for Dyalog on the Microsoft Windows operating system. It details the parameters that can be used to customise individual instances, the creation of executables and run-time applications, use of the command line and the Dyalog Dynamic Link Library, as well as describing the recovery process if a system error is encountered.

    It is assumed that the reader has a basic knowledge of Microsoft Windows and software terminology; a working knowledge of Dyalog is useful but not essential.

  • Dyalog .NET Interface Guide (summary)

    This document describes the Dyalog interface to the Microsoft .NET Framework. The information provided in this document does not explain the features of the .NET Framework but concentrates on explaining the APL interfaces that sit between the .NET Framework and the APL Session.

    It is assumed that the reader has a working knowledge of Dyalog, familiarity with the .NET Framework and a basic understanding of OO methodologies.

UNIX-Specific Documentation

These documents are specific to running Dyalog on various UNIX platforms, for example, AIX or Linux distributions.

  • Dyalog for UNIX Installation and Configuration Guide (summary)

    This document covers the installation procedure and configuration options for Dyalog on a UNIX platform. It details the environment variables that can be used to customise individual instances, the requirements for using the PuTTY terminal emulator and the upgrade and uninstall procedures.

    It is assumed that the reader has a basic knowledge of UNIX and software terminology; a working knowledge of Dyalog is useful but not essential.

  • Dyalog for UNIX User Guide (summary)

    This document describes the different input windows available and the keystrokes that can be used within them, how commands can be entered and the (configurable) keycode-keystroke mappings.

    It is assumed that the reader has a basic knowledge of UNIX and a working knowledge of Dyalog.

  • Dyalog for Raspberry Pi User Guide (summary)

    This document is intended for anyone who wants to run Dyalog on a Raspberry Pi. The information provided in this document supplements that given in the Dyalog for UNIX Installation and Configuration Guide and the Dyalog for UNIX User Guide. In cases where the information given is different between these documents, this document should be regarded as the definitive source for Dyalog on the Raspberry Pi.

    It is assumed that the reader has a basic understanding of Linux on the Raspberry Pi. No prior knowledge of Dyalog is required.

Tools Documentation

The tools described by these documents can be used to supplement Dyalog's core functionality; they can enable a developer to produce code more efficiently, provide an interface to other software/platforms or be integrated and deployed in an application.

  • Dyalog Conga Reference Guide (summary)

    This document is a complete guide to Conga, Dyalog’s framework for TCP/IP communications. It describes the tools with which Conga can be used to create a variety of clients and servers using protocols based on TCP/IP, including HTTP, HTTPS, FTP, Telnet and SMTP. It covers Conga support for secure communications (using SSL/TLS) and communication between APL processes (allowing them to exchange native APL data directly). It also introduces the Conga workspace, which includes a comprehensive collection of samples showing the implementation of various types of servers and clients, and contains a technical reference of the namespaces, classes and functions provided with Conga.

    It is assumed that the reader has a reasonable understanding of Dyalog and server-client connection protocols; a working knowledge of HTTP/FTP/SMTP is needed to understand the samples provided with the Conga workspace.

  • Dyalog MiServer Reference Guide (summary)

    This document is a complete guide to MiServer, an APL open source web server that brings the power of APL to the web. It takes a user through the complete webpage creation process, from installation and configuration of MiServer to interacting with a completed website. In addition it covers customising the look and functionality of your website through the use of cascading style sheets (CSS) and a variety of JavaScript/jQuery-based widgets. It also provides examples to use as the basis for a new website and contains a technical reference of the namespaces, classes and functions provided with MiServer.

    It is assumed that the reader has a reasonable understanding of Dyalog; a working knowledge of HTML is useful but not essential.

  • Dyalog NewLeaf Reference Guide (summary)

    This document is a complete guide to NewLeaf, the frame-based publishing tool that enables high-quality printed output to be generated from simple APL arrays. It details the Designer user interface, syntax and page design elements that combine to allow complete customisation of the output and includes a tutorial that walks through the process of constructing progressively more sophisticated tables. It also explains the namespaces, objects and properties supplied with the NewLeaf workspace.

    It is assumed that the reader has a reasonable understanding of Dyalog.

  • Dyalog PEACH Reference Guide (summary)

    This document is a complete guide to the parallel workspace, which enables Dyalog application programmers to make use of multiple cores on one or more computers. It uses examples to show how performance can be enhanced, covers the way in which slave processes can be created and managed and describes the procedure for tuning and debugging within the parallel workspace. It also explains the namespaces, parallel operators and functions provided with the parallel workspace.

    It is assumed that the reader has a reasonable understanding of Dyalog.

  • Dyalog R Interface Guide (summary)

    This document is a complete guide to RConnect, the interface between Dyalog and R, the integrated programming language and software environment for statistical computing and graphics. It explains how RConnect makes the R environment an extension of the active APL workspace, enabling APL users to extend APL applications by either utilising existing R skills or acquiring new skills and making use of the large – and rapidly expanding – collection of statistical and analytical packages that are continuously being added to R.

    It is assumed that the reader has a reasonable understanding of Dyalog. No prior knowledge of R is required.

  • Dyalog RainPro Reference Guide (summary)

    NOTE: RainPro has been superseded by SharpPlot; it is still supported and distributed but no new functionality will be added and Dyalog recommends replacing any calls to RainPro with calls to SharpPlot; SharpPlot has a more consistent API, better-quality graphics (alpha blending, anti-aliased raster graphics), superior performance and is multi-platform rather than limited to Microsoft Windows.

  • Dyalog SALT Reference Guide (summary)

    This document is a complete guide to SALT – the Simple APL Library Toolkit – and explains its functions, their syntax, modifiers and modifier values.

    It is assumed that the reader has a reasonable understanding of Dyalog.

  • Dyalog SAWS Reference Guide (summary)

    This document is a complete guide to SAWS, the Stand-Alone Web Service framework that facilitates the sharing of functionality developed in Dyalog using Web Services and enables the integration of functionality from external Web Services into an APL application. It describes how SAWS can be used to build and run a Web Service that can then be shared over a local network, intranet or the Internet. It also covers the way in which SAWS can be integrated with an application and explains the namespaces, functions and common data structures provided with SAWS.

    It is assumed that the reader has a basic knowledge of Web Services and a reasonable understanding of Dyalog.

  • Dyalog SharpPlot Reference Guide (summary)

    This document is a complete guide to SharpPlot, the charting software engine that brings true publication-quality graphics to your application. It covers the generation of all the different chart types that can be produced along with the properties and methods that can be used to customise them.

    It is assumed that the reader has a reasonable understanding of both Dyalog and the .NET bridge.

  • Dyalog SQAPL Interface Guide (summary)

    This document is a complete guide to SQAPL, the interface between APL and database drivers that conform to the Microsoft ODBC specification. It describes the way in which SQAPL can be integrated with an application, details the objects and data types supported by SQAPL and explains the functions (both high-level and low-level) provided with SQAPL.

    It is assumed that the reader has a reasonable understanding of both SQL and Dyalog.

  • Dyalog User Commands Reference Guide (summary)

    This document is a complete guide to user commands. It describes how to create and implement new user commands and provides a summary of the user commands supplied with Dyalog.

    It is assumed that the reader has a reasonable understanding of Dyalog.

  • Dyalog Application Tuning Guide (summary)

    This document describes the way in which the ⎕PROFILE system function and the associated ]PROFILE user command can be used to obtain a performance profile of an application. It describes both the graphical and textual output that can be obtained following data collection and shows how this data can be analysed and potential inefficiencies identified.

    It is assumed that the reader has a reasonable understanding of Dyalog.

  • Dyalog Code Libraries Reference Guide (summary)

    This document describes the workspaces, scripts and DLLs that are supplied with Dyalog.

    It is assumed that the reader has a reasonable understanding of Dyalog.

  • Dyalog Workspace Transfer Guide (summary)

    This document describes the steps that are involved in moving code and data, either from a different dialect of APL to Dyalog or from one version of Dyalog to an earlier version. It also provides examples of importing workspaces created in APL2, APLX or APL+Win into Dyalog.

    It is assumed that the reader has a reasonable understanding of Dyalog and, if a migration is being performed from another dialect of APL, a reasonable understanding of that dialect of APL.

Cheat Sheets

These short (one or two pages) documents comprise brief summaries of some of the terminology, syntax and conventions used in Dyalog.

  • Nomenclature: Functions and Operators
  • Component Files
  • Native Files
  • Idioms
  • Nameclasses and Subclasses (⎕NC)

  • Binding Strengths
  • SALT Functions: Syntax

Release Notes

These documents cover the changes made to Dyalog and some of its supported tools since the first release of Dyalog version 13.2.

  • Dyalog version 14.0 Release Notes (summary)
    This document describes the changes and new features in Dyalog version 14.0 compared with Dyalog version 13.2.
  • SALT version 2.40 Release Notes (summary)
    This document describes the changes and new features in SALT version 2.40 (released with the first release of Dyalog version 14.0) compared with SALT version 2.31 (released with the first release of Dyalog version 13.2).
  • User Commands version 2.00 Release Notes (summary)
    This document describes the changes and new features in User Commands version 2.00 (released with the first release of Dyalog version 14.0) compared with User Commands version 1.29 (released with the first release of Dyalog version 13.2).

Online Help

This file allows a subset of the documentation to be downloaded and viewed off-line as a Help document.

  • The offline version of the help document available at help.dyalog.com (Microsoft Windows only)

Miscellaneous

  • Complete documentation set (pdfs only)
  • Subset of the documentation pdfs formatted for printing with monochrome colour scheme
  • Subset of the documentation available to purchase as printed and bound manuals

Previous Releases

This section contains links to the documentation for previous releases of Dyalog.

  • Documentation for previous (supported) releases: 13.2, 13.1
  • Online Help for previous (supported) releases: 13.2, 13.1
  • Documentation for older (unsupported) releases: 13.0, 12.1, 12.0
  • Online Help for older (unsupported) releases: 13.0, 12.1, 12.0