NOTE: This page is awaiting content review and has not been designed.
Tools and Interfaces Catalogue
Beyond the core APL language, tools are provided both at the language-level (for example, system functions) and as tools written in APL for general programming, system interaction and interoperation, and application development tasks.
Most tools listed here are supplied and maintained by Dyalog Ltd, including tools in our GitHub repositories (see Dyalog on GitHub for assitance getting started with GitHub).
Tools from external GitHub repositories are maintained by their owners.
Tools marked with * are not included with installations of Dyalog. Instructions for obtaining these tools are in their 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 or for Windows developers who need to debug code running on remote systems, including WSL.
Remotely connect to an interpreter over a network on any platform.
Source code in text files (Link)
Link keeps APL source in text files synchronised with the contents of the active workspace, allowing you to select freely between the editors built-in to the Dyalog IDEs or external editors in tools like VS Code, and also use source code management tools and coding agents on live applications
User Commands
User commands are tools that are available at any time, in any workspace, as extensions to the Dyalog development environment. In addition to the user commands that are built into Dyalog, you can add your own, written in APL
*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
*Dyalog File Server (DFS)
Wraps Dyalog component files in a client/server framework, for enhanced security and performance. DFS is licensed separately from Dyalog.
⎕CSV
Read data from CSV files and text as APL arrays; write APL arrays to CSV format and files
*XL2APL
Import Microsoft Excel data from .xlsx files as APL arrays.
⎕MAP
Handle very large data volumes by memory-mapping files to virtual 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
*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