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.

    Add a header to begin generating the table of contents

    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.

    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.

    HttpCommand

    Make HTTP requests to access web data and services.

    Conga

    TCP/IP communications library.

    *APLSSH

    Start and manage SSH sessions from APL using libssh2.

    External data management and conversion

    SQL Interface (SQAPL)

    Interface to ODBC data sources (SQL databases).

    *Dyalog File Server (DFS)

    Wraps Dyalog component files in a client/server framework, for enhanced security and performance. DFS is licensed separately from Dyalog.

    *vecdb

    A very simple column-store management system.

    ⎕CSV

    Read data from CSV files and text as APL arrays; write APL arrays to CSV format and files

    ⎕JSON

    Convert APL arrays to JSON text, and the other way round.

    ⎕XML

    Convert APL arrays to XML text, and the other way round.

    *XL2APL

    Import Microsoft Excel data from .xlsx files as APL arrays.

    *APL2XL

    Export APL arrays to .xlsx files.

    ⎕MAP

    Handle very large data volumes by memory-mapping files to virtual APL arrays.

    loaddata.dws

    Example workspace with functions to load and save data from SQL, CSV, Excel and XML data sources To load loaddata.dws, enter the following within a Dyalog Session:
    )LOAD loaddata

    External Interfaces and Libraries

    ⎕NA

    Interface to compiled libraries (.dll, .so, .dylib, .a), for example those written in C/C++.

    *RSconnect

    Interface between R and Dyalog

    *Math

    Interface to LAPACK and FFTW to compute eigenvalues, eigenvectors and Fast Fourier Transforms

    *Py'n'APL

    Bi-directional interface between Python and Dyalog

    .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

    sharpplot.dws

    Graphing library for data visualisation

    *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

    Process Management

    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

    Get Support