Tools and Interfaces Catalogue
Most tools listed here are supplied and maintained by Dyalog Ltd, including tools in Dyalog's GitHub repositories (if you are not familiar with GitHub, there is some basic information at 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 included in their documentation.
Table of Contents
- Application Development and Deployment
- Communication and Service Frameworks
- External Data Management and Conversion
- External Language Interfaces and Standard Libraries
- GUI and Graphics
- Asynchronous Programming
- Process Management
- APL System Migration
Application Development and Deployment
Tool | Description |
---|---|
Windows IDE | Write, run, and debug Dyalog applications using the Integrated Development Environment (IDE) for Microsoft Windows |
RIDE | The Remote Integrated Development Environment. The recommended IDE for non‑Windows desktops and for remote development and debugging. Remotely connect to an interpreter over a network on any platform |
TTY | The original interface to Dyalog – a UNIX (or VT-100) style terminal session, with a fixed-size screen full of characters. The default interface for Linux. An interactive APL REPL, editor, debugging tool, and more |
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 |
Communication and Service Frameworks
Tool | Description | More Information |
---|---|---|
*Jarvis | Expose APL functions as a 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
Tool | Description |
---|---|
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 Microsoft Excel data from .xlsx files as APL arrays |
*APL2XL | Export APL arrays to Microsoft Excel (.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:
|
External Language Interfaces and Standard Libraries
Tool | Description |
---|---|
⎕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. 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
Tool | Description |
---|---|
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
Tool | Description |
---|---|
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
Tool | Description |
---|---|
APLProcess | Launch and manage processes from within APL |
aplservice.dws | Template for running a Dyalog application as a Microsoft Windows service |
APL System Migration
Tool | Description |
---|---|
Workspace Transfer | Exchange code between Dyalog and other APL systems |
APLX Migration Tools | Tools to help migrate from APLX to Dyalog |