Tools and Interfaces Catalogue

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 us, including tools in our GitHub repositories (see GitHub basics 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.

    Remotely connect to an interpreter over a network on any platform.

    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.

    User Commands

    User commands are tools that are available at any time, in any workspace, as extensions to the Dyalog development environment.

    *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)

    Client/server Component File system. 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 between APL arrays and JSON text.

    ⎕XML

    Convert between APL arrays and XML text.

    *XL2APL

    Import Excel data from .xlsx files as APL arrays.

    *APL2XL

    Export APL arrays to .xlsx files.

    ⎕MAP

    Treat files as APL arrays using memory mapping.

    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

    *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.

    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

    I am using the Products Master Page. You don’t need to tell Mike about this message, he knows!

    Get Support