This document contains the latest information about Dyalog APL Version 18.0.
This file is dyalog_readme.htm and is included in the help directory in the Dyalog installation.
Dyalog has found defects in some of the code which has been optimised in 18.0. As a result of this Dyalog has decided to recommend that if you have not already upgraded to 18.0 and do not have an urgent requirement for the new features of 18.0 then you should skip 18.0 and wait for the subsequent release. Dyalog has therefore extended the support for 17.1 by an extra release cycle (typically a year). Given this extension we have also decided to reissue 17.1 so that users can pick up all the fixes that have been applied to 17.1 thus far, both for the interpreter and all other parts of the product. More details can be found in the Dyalog blog at www.dyalog.com/blog/.
Issue 6 contains a fix for 021545: After ⎕CT is altered, the first use of ⌈ or ⌊ produce bad results on non-scalars tolerantly equal to integer threshold values.
Although the recommendation against the use of 18.0 in production was removed in November 2020 significant effort has and continues to be put into thoroughly testing those primitives which were optimised in 18.0; five issues have been found in rarely used cases of optimised code, and patches have been distributed: Issue 6 naturally includes all of these fixes:
A number of other issues have been resolved: in particular:
This section lists various changes and fixes which may affect your application. They have been made in 18.0 rather than in DSS updates since they involve a change in behaviour.
⎕SE.⎕WX now (correctly) defaults to 3, in line with Dyalog's recommendation that ⎕WX is always set to 3.
Dyalog Version 18.0.38400 and later are notarised and should install on macOS Catalina without issue (as does 17.1.38400 and later revisions). However if you attempt to access ~/Documents from
within Dyalog you may be presented with an operating system-generated message box asking you whether you want to allow Dyalog to access Documents (the same applies
to various other directories). If you respond "no" and at a later date wish to change your mind, or if you don't get prompted, go to
Apple->System Preferences->Security & Privacy. On the privacy tab select Full Disk Access and/or Files and Directories: you can
amend the list of special directories which Dyalog 18.0 can have access to. This is a feature of macOS Catalina.
Version 18.0 includes a new cross-platform mechanism for defining configuration parameters (more commonly called environment variables on non-Windows platforms). See the Release Notes section on Configuration for more information. This mechanism is integrated with the existing methods, other than that on non-Windows platforms we no longer use ~/.dyalog/dyalog.config.
017889: The APL_TEXTINAPLCORE configuration parameter is now effective on all platforms, and the interpreter defaults to 1 (include the section in aplcores).
Change in behaviour: 017772: In 18.0 if you run ⍞←20↑'hello' ⋄ x←⍞ and only hit Enter, the length of x is 20 - the trailing spaces are no longer removed.
In earlier versions of Dyalog APL in both the ODE (Windows) and tty versions, with expressions like ⍞←20↑'hello' ⋄ x←⍞, if you just hit
Enter, the value of x did not include the trailing spaces. From 18.0 onwards it does. This brings it in to line with RIDE and when running without a session. If you remove and add
spaces the behaviour has not changed.
We have added support for .NET Core on Windows, Linux, Pi and macOS. Please note that support for .NET Core will only be
offered for Unicode interpreters - this will be the case for all supported platforms. 18.0 is only ever likely to support .NET Core 3.1 - in particular
support for .Net 5 or later is only likely to appear in future versions of Dyalog APL.
You will need to install the Microsoft .NET Core version 3.1 runtime on your machine. .NET Core should be downloaded from
https://dotnet.microsoft.com/download.
On Windows Dyalog will attempt to use the .NET Framework by default, and on other
platform it will attempt to use .NET Core by default. This behaviour can be overridden by setting the DYALOG_NETCORE configuration parameter.
You will most likley need to set DOTNET_ROOT to the location of those code files if they are installed in a non-standard location (see the Microsoft .NET Core
documentation for more details).
Note that .NET Core is not supported on armv6 or earlier, so will only work on Pi3 and upwards.
When reporting problems with the .NET Core support, can you please include the output of the following commands (assuming you can run them !):
'.' ⎕wg'APLVERSION' ⋄ +2⎕nq'.' 'GetEnvironment' 'DYALOG_NETCORE' ⋄ ⎕using←'' ⋄ System.Environment.Version.
Note that we have added the dotNET Core Interface Guide and the dotNET Differences Guide to the help directory (and
https://www.dyalog.com/documentation_180.htm).
On Windows, the configuration parameter DyalogHelpDir has always pointed to the directory containing the main CHM file. You can now set it to
Other miscellaneous enhancements
Dyalog had defined the keystroke RZ. However, apparently the code associated with this keystroke was never enabled; we have therefore removed RZ from the list of valid keyboard commands.
The keyboard command FT in earlier versions allows the user to define a keystroke to jump between the navigation and contents panes of the editor. In 18.0 it has been extended so that it now cycles around the navigation pane, the icons in the editor toolbar and the contents pane.
The 18.0 documentation is in the help subdirectory of the installation directory, and can also be found at https://help.dyalog.com/18.0; the PDFs etc can be found at https://docs.dyalog.com/18.0.