Overview of New Features
Each of the following features is described in detail in our on-line help for the new version. Just 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...
Table function
The new Table function (monadic ⍪) 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 check sum 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.
⎕using←'System.Windows.Forms,system.windows.forms.dll'
'f'⎕wc'Form' ('Coord' 'Pixel')
'f.wb'⎕WC'NetControl' 'WebBrowser' ('Size' f.Size)
f.wb.Navigate ⊂'aplwiki.com/CategoryDyalog' ⍝ Display APLWiki
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...