Version 12.1

Version 12.1 is packed with new features and performance enhancements.

Version 12.1 screenshot

A brief summary of new features follows below. For detailed information about the new release, see:

arrow On-line help for the new version
arrow Links to downloadable manuals
arrow Print documentation "on demand" (take care to order v12.1 manuals)
arrow Upgrade pricing (prices remain unchanged since 2006)

Supported Platforms

Version 12.1 is available in Classic and Unicode editions, for 32- and 64-bit versions of Microsoft Windows (supported on Windows 2000 and later versions, including Windows 7), IBM AIX (from version 6.1 – 32 bit also from 5.3 TML10) and Linux (tested on RedHat4&5, SUSE 11, openSUSE 11.1 and Ubuntu 8.04).

A version for Windows Mobile (Unicode/32 bit only) will be available at the end of 2009. Contact Dyalog for information on Sun Solaris versions.

No versions using the MainWin Win32 emulator have yet been built: Please contact Dyalog for information on the release schedule for versions using MainWin and WINE (an alternative Win32 emulation, available for Intel Linux only).

Customers with current DSS+ contracts or royalty-based agreements can download the 32-bit Windows version immediately here. For other versions, please contact Dyalog Support for more information.

Termination of Support for Version 10.1

Dyalog provides support for the current release plus the two previous releases. In practice, this means that fixes for significant bugs found in any supported version are applied to all supported versions – and that patched versions are automatically made available to customers paying for support. With the release of 12.1, version 11.0 becomes the earliest supported version. Dyalog will attempt to provide reasonable support for older versions, but may charge a fee for the application of fixes to unsupported versions if required. 

Overview of New Features

Each of the following features is described in detail here (follow the links at the end of each section):

Enhanced Editor

The Editor has been enhanced to improve the ease with which individual functions and classes can be edited. More

Screenshot of enhanced editor


Table function

The new Table function (monadic 8) turns any array into a 2-dimensional matrix. More

Fast XML Conversion

The *XML system function converts an XML character vector into an APL array and vice-versa. As a built-in system function it is naturally much faster than an equivalent defined function written in APL. More

Faster Primitive Functions

A number of primitive functions have been modified to deliver significantly improved performance. Beta Test users have reported speedups of up to 25% on migration to version 12.1 (others have not noticed any difference – your mileage will vary) More

Parallel Execution on Multi-cpu / Multi-core Systems

If your computer has more than one cpu or is a multi-core processor, many scalar dyadic functions now execute in parallel in separate system threads each running on a separate cpu or core. This delivers very significant performance on large arrays. More

Component File Journaling and CheckSum

Version 12.1 provides enhanced Journaling for Dyalog APL component files and includes the facility to checksum components. More

User Commands

Version 12.1 provides an easy mechanism to define User Commands.

A User Command is a name prefixed by a closing square bracket, which may be niladic or take an argument. A User Command executes APL code that is typically stored somewhere outside the current active workspace. More

Standalone Executables

In Version 12.1 it is possible to export a workspace as a single .exe file that includes a copy of the Dyalog APL interpreter. This allows you to implement and deploy a stand-alone Dyalog APL application as a single .exe file. More

.Net Controls

Whereas previously it was possible to use Microsoft .Net GUI by creating a .Net Form and populating it with .Net controls, it was not possible to mix .Net GUI components with the Dyalog APL GUI. 

In Version 12.1, the new NetControl object allows you to include any control that derives from System.Windows.Forms.Control as a child of a Dyalog APL GUI container such as a Form, SubForm, or Group. More

'f'*wc'Form' ('Coord' 'Pixel')
'f.wb'*WC'NetControl' 'WebBrowser' ('Size' f.Size) 
f.wb.Navigate ⊂'' * Display APLWiki

Version 12.1 screenshot APL Wiki

Many .Net controls can also be used as input objects for the Dyalog Grid.

In addition classes defined within the workspace that derive from System.Windows.Forms.Control can also be embedded into the Dyalog GUI. More

Tracer Syntax Colouring

The Tracer may now optionally be coloured in the same way as the Editor. If you choose this option, the appearance of a function inside the Tracer window is almost identical to that of the Editor. The only difference is that the current line is identified by a bright red rectangle. More

Keyboard Changes

The default keyboard layouts shipped with version 12.1 interpret Ctrl X-C-V as Cut-Copy-Paste. To get disclose, intersection and union, you need to use Ctrl+Shift. The "IME" has been re-introduced for use with applications which would otherwise hijack APL symbols as accelerator keys. More



For online ordering of printed manuals and download of free-of-charge manuals in pdf format



Version 12 Documentation

Version 12 Help