Beyond the core APL language, tools are provided both at the language-level (for example, system functions) and as APL-based tools for general programming, system interaction and interoperation, and application development tasks.
Most tools listed here are supplied and maintained by Dyalog, including tools in Dyalog GitHub repositories (GitHub basics). Tools from external GitHub repositories are maintained by their respective owners.
Tools marked with * are not included with installations of Dyalog. Instructions for obtaining these tools are in their respective documentation.
Application Development and Deployment
Dyalog IDE for Microsoft Windows
Write, run and debug Dyalog applications using the Integrated Development Environment (IDE) for Microsoft Windows.
Cross-platform and Remote IDE (RIDE)
Remote Integrated Development Environment. The recommended IDE for non-Windows desktops.
Remotely connect to an interpreter over a network on any platform.
Source code in text files (Link)
Store APL source code in Unicode text files, rather than binary workspace files, and synchronise them with the active workspace. Allows you to use external editors and source code management tools.
*Docker
Run Dyalog and deploy applications using Docker containers
*Jupyter notebooks
Jupyter kernel for Dyalog APL. Create, render and interact with Dyalog Jupyter notebooks.
Communication and Service Frameworks
*Jarvis web service framework
Expose APL applications as JSON or REST web services.
Conga
TCP/IP communications library.
External data management and conversion
⎕CSV
Read data from CSV files and text as APL arrays; write APL arrays to CSV format and files
*XL2APL
Import Excel data from .xlsx files as APL arrays.
loaddata.dws
)LOAD loaddata
External Interfaces and Libraries
⎕NA
Interface to compiled libraries (.dll, .so, .dylib, .a), for example those written in C/C++.
*Math
Interface to LAPACK and FFTW to compute eigenvalues, eigenvectors and Fast Fourier Transforms
.NET
The .NET interface supports .NET Framework and .NET Core.
Create and use instances of .NET classes.
Define new .NET classes in Dyalog that can be used from other .NET-supporting languages, for example, C#.
Microsoft OLE
Automate Microsoft Office automation and interact with COM/ActiveX objects embedded within applications from Dyalog.
GUI and Graphics
*DUI
The Dyalog User Interface. Successor to the MiServer web server framework.
Write GUI applications in APL and deploy them either as stand-alone applications using HTMLRenderer or serve them as websites and web applications accessible using a web browser.
*Selenium Interface
Automate the use of web browsers using Selenium WebDriver
HTMLRenderer
GUI object for rendering HTML, CSS and JavaScript using the Chromium Embedded Framework.
Create cross-platform graphical user interfaces.
Asynchronous Programming
Spawn
The spawn operator (&) is a lightweight method to launch “green threads” for doing multiple time‑consuming (but not compute‑heavy) tasks in parallel
*Futures and Isolates
Execute code in parallel CPU threads on one or more machines
*.NET Tasks
The .NET Task class can be used directly from Dyalog through the .NET interface.
Process Management
APLProcess
Launch and manage processes from within APL
aplservice.dws
Template for running a Dyalog application as a Microsoft Windows service
APL System Migration
Workspace Transfer
Exchange code between Dyalog and other APL systems
APLX Migration Tools
Tools to help migrate from APLX to Dyalog