Add a header to begin generating the table of contents

    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.

      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.

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

      *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