On July 11th 2016, MicroAPL announced the end of support for the APLX product. Since that date, Dyalog has been working with APLX users on developing tools to assist in the migration of existing applications from APLX to Dyalog APL. At this time, the tools are very much “work in progress” and will be updated frequently as we receive feedback.

At the moment, the following resources are available or under development:

Updates to Dyalog v15.0: Builds of Version 15.0 dated July 29th 2016 or later (that is 15.0.27982 or later, which appear in the second issue of the 15.0 installation images), include the following APLX-related improvements:” :

A fix to an issue with communication between the interpreter and the RIDE, which was causing slow execution of code when using RIDE as the development environment.

⎕NREAD now accepts ¯1 for the number of elements to read, meaning read to end of file

⎕NREPLACE accepts ¯1 as a position, meaning "the current position"

List of Differences: A document containing a list of differences between APLX and Dyalog APL, and a discussion of strategies for dealing with them.

Emulations of APLX Features: The file APLX.dyalog defines a Dyalog namespace containing emulations for APLX primitives and system functions that are different or do not exist at all in Dyalog APL.

]in user command: This user command is available with all standard installations of Dyalog APL v15.0 or later. It can import files in APL Transfer format (.ATF) that are created by the )out system command which is found in many APL systems, including APLX. For increasing amounts of online help, type ]?in, ]??in (and so on) in a Dyalog session.

We hope that APLX users will find these resources useful as they investigate migration to Dyalog APL. Please do not hesitate to let us know what we may need to add in order to make YOUR migration easier!

Our third-party quadWI emulation, originally targeted at APL+Win v2 might be useful also for APLX users: it was developed with the aim to migrate a big or too complex application to Dyalog quickly and only later, module by module, replace it by some improved and native Dyalog code, while already being operative on the new platform.