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.
The tools are all available in a GitHub repository. We hope that this will encourage collaborative development of additional tools. Most of the text in this post is copied from the ReadMe.MD file in this repository. There is also a list and discussion of differences between the two systems.
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.
- Source Code Translation Tool: The APLX workspaces xfrpx.aws and xfrpcV5.aws (for APLX v5) are APLX versions of Dan Baronet's xfrpc tool, which creates “enhanced” transfer files. The ]in user command recognises these files and will perform translation of APLX statements into Dyalog equivalents, including references to the emulation functions.
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!