News about Dyalog
Jun 30, 2016
Dyalog Ltd Announces Dyalog Version 15.0
In accordance with tradition, Dyalog is marking the beginning of summer with a new release of Dyalog APL – and this time we are celebrating with a brand new icon! As of June 30th 2016, Dyalog APL version 15.0 is available on all platforms. The full list of supported platforms is currently:
- Microsoft Windows (from Vista onwards, Microsoft.NET bridge requires .NET 4.0 or later)
- IBM AIX (6.1 with POWER5 or higher)
- x86 and x64 Linux (built on RedHat 6 but works on most recent distributions)
- Raspberry Pi (Raspbian Wheezy and Jessie)
- Apple OS X (Yosemite and onwards, with Macs produced in 2010 or later)
As usual, the new release takes us several steps down our Road Map (for a presentation of the Road Map, see https://www.youtube.com/watch?v=FiCGnsGjTC8). Highlights of version 15.0 include:
Free Non-Commercial Licences
To make it easier for students, researchers and others who would like to experiment with Dyalog APL to get started, we are making Educational, Personal and Non-Commercial use of Dyalog APL completely free. Low-cost support contracts will be available for GBP150 per year, as they are today. The non-commercial system is a fully functional 64-bit Unicode interpreter, except on the Raspberry Pi where it remains a 32-bit application. For commercial use, a variety of licence models are available.
Every recent release of Dyalog APL has included the results of significant optimisation work, and version 15.0 is no exception. In addition to introducing new features to make you more productive, we have done significant work to adapt interpreter algorithms to take advantage of new optimisations that have become available:
- Our internal benchmarks show an average improvement for core interpreter performance of more than 20% (your mileage will vary depending on usage pattern).
- The optimised byte code execution engine now handles more than 80% of the source code in our benchmark application.
- Arrays can be marked as "hashed" allowing set functions like ⍳ and ∊ to work much faster. Unlike the old trick of creating hashed lookups through function composition, the new mechanism allows an array of keys to be modified without requiring a re-hash of the entire array.
- A fast case conversion utility has been added.
Easier to Use on Multiple Platforms
One of the most important destinations on our road map is to put Dyalog APL on more platforms, and to make the same development and application building tools available on all platforms. Version 15.0 represents a major milestone on this path:
- Version 15.0 includes new features for listing and manipulating files and folders using an identical set of tools on all platforms. New system functions that have been added include:
- ⎕NINFO to list the contents of a folder
- ⎕MKDIR to create folders
- ⎕NEXISTS and ⎕NDELETE to check for existence of and remove files or folders without having to open them
- ⎕NGET and ⎕NPUT to read and write the contents of Unicode text files
- Version 3.0 of the cross-platform Remote Integrated Development Environment (RIDE) accompanies v15.0, with many new features. RIDE 3.0 enhancements include:
- A workspace explorer
- Enhanced navigation of classes and function sources
- Auto-PW support and Value Tips
Over the summer, the RIDE (and documentation of the RIDE protocol) will be released as an open-source project, allowing the development of 3rd party front-ends to Dyalog APL on all supported platforms.
Installation on Microsoft Windows without Administrative Privileges
We are also making it easier to install the product in corporate or other restricted environments using Microsoft Windows: installation of the full development system is now possible without administrative privileges. Note that Dyalog recommends that the administrative installer is used if this is possible, for the following reasons:
- Administrative rights allow installation of the Dyalog IME, which gives access to an APL keyboard in all applications, not just the APL session.
- The full installer can install Visual Studio 2015 runtime libraries, as well as Microsoft.NET 4.0, if they are not present on the target machine.
- The APL385 font will be installed on the machine and become available for use from other applications (if not present, the APL system will load it dynamically at startup).
APL Source in Unicode Text Files
A rapidly-growing number of APL users are storing APL source code in Unicode text files under the control of industry-standard source code and project management systems such as Git or Subversion, and Dyalog has been promoting this for a number of years. From version 15.0, this mode of operation is directly supported by the interpreter, and no longer requires the use of the SALT extension:
- Integrated support in the interpreter and development environment for loading and editing APL source code held in text files, as an alternative to using binary workspaces.
- The system function ⎕FIX accepts a file name, and will fix the file contents in the workspace. By default, a link is maintained so that editing a function or class loaded from a file causes the file to be updated. This is supported by all IDEs including RIDE.
- Dependencies can be declared using a new :Require keyword, so that the loading of one file materialises required code automatically.
- The built-in editor can also edit external source files directly, without first loading them into the workspace (in all IDEs).
- Under Microsoft Windows, a Shell Extension is registered in such a way that Windows Explorer and other tools with preview functionality can display syntax coloured APL source:
Improved Look and Feel
The RIDE is currently the default IDE for Apple OS X. A new installer will soon be available, making RIDE the default for x86/x64 Linux – and subsequently also the Raspberry Pi. The RIDE provides a graphical debugging environment as an alternative to the TTY mode (which will still be available).
- Microsoft Windows Native Look and Feel is enabled by default (but can still be switched off for applications which are designed around the old visuals).
- Oh, and did we mention we have designed a new icon for Dyalog APL?