## Introduction to APLX

### What is APLX?

APLX is an implementation of the APL language, a unique, general-purpose array-processing language used in application areas such as financial planning, market research, statistics, management information and for all types of scientific and engineering work. APLX is an advanced, second generation implementation of the APL language, closely based on IBM's APL2, but with a number of important enhancements, including object-oriented language extensions.

### Product Features:

#### Cross-platform development

APLX is a full windowing application offering an advanced and elegant environment for developing APL. It is available for Windows 2000, XP and Vista, for Mac OS X, and for x86 Linux. In each case, APLX is a full native application, with the 'look-and-feel' appropriate to the host. Thus, under Mac OS X, it implements Apple's 'Aqua' user-interface, under Windows it follows Microsoft's style, and under Linux it takes the look-and-feel of the X Windows Manager you are using (for example, KDE or Gnome).

APLX is also available in a 64-bit version.

Server editions of APLX are available for Windows, for x86 Linux, and for the IBM RS/6000 under AIX. The Server editions of APLX use a Client-Server architecture so that you can take advantage of the full development environment on, for example, a Windows desktop machine, with the APL interpreter iteself running on a server on the network.

All 32-bit versions of APLX share the same workspace and component file layouts. This means that workspaces saved by any version can be loaded by any other, and component files can be shared across a network of different hosts. Where the two systems use different byte-ordering conventions, APLX transparently converts between them. Workspaces saved using MicroAPL's older APL.68000 and APL Level II interpreters can also be loaded directly (APLX automatically converts them to the new format), and existing component files are also upwards-compatible.

For users migrating from other APL implementations, IBM-compatible APL transfer files can be read directly using the )IN system command, or via the File menu.

#### Language features

Like its predecessors, APLX is a high-performance interpreter closely modelled on IBM's APL2 language standard, combined with the tried-and-trusted APL.68000 enhancements. Workspaces of up to 2GB are supported in 32-bit versions of APLX, subject to available system memory. In 64-bit versions of APLX, workspaces can be much larger, limited only by the system on which APLX is running. APLX also implements the very powerful ŒNA system function, allowing you to call operating-system or DLL routines directly from APL, as though they were ordinary APL functions.

#### Object-Oriented language extensions

APLX Version 4 introduces support for object-oriented programming, with user-defined APL classes. It also allows you to make use of external classes written in the .Net languages (C#, Visual Basic, and so on), Java, or Ruby, using natural dot-notation syntax.

#### Multi-tasking support

APLX provides the facility for your APL programs to create APL child tasks under program control, with signal events and shared variables so they can work together.

#### Elegant development environment

APLX provides very powerful development facilities, without any distracting on-screen clutter. Key features include:

- You can have multiple APL sessions open simultaneously, each with its own workspace.
- Syntax coloring is available for Edit windows, with facilities for identifying and localising variables changed by a function. Bring up the edit window by selecting 'Edit Function/Variable/Class...' from the Edit menu, and choosing one or more functions from the dialog. Or just select the name of an item and press Ctrl-E (Cmd-E on the Macintosh). You can also use the pop-up menu.
- A pop-up menu is available at any time to edit an item, see its value or properties (including the syntax and first few lines of comment if it is a function/operator), or access the comprehensive on-line help system for the object or APL symbol at the cursor. For variables, you can also open a Display window which shows the structure of the data, or, if it makes sense, immediately bring up a Chart window showing a graph of the data. Under Windows or Linux, just right-click over an object's name to bring up the pop-up menu. Under MacOS, click-and-hold, or use Ctrl-Click.
- Syntax colouring is available for Edit windows, with facilities for identifying and localising variables changed by a function. Bring up the edit window by selecting 'Edit Function/Operator/Variable...' from the Edit menu, and choosing one or more functions from the dialog. Or just select the name of a function and press Ctrl-E (Cmd-E on the Macintosh). You can also use the pop-up menu.
- The general array editor allows you very easily to edit any APL variable, including numeric, character, and nested arrays. The only restriction is that you are limited to five dimensions.
- The convenient Workspace Explorer window lets you browse quickly through the workspace contents, editing functions in-place if you wish.
- Watch windows allow you to monitor the contents of a variable or the result of any APL expression.
- The Debug window provides a user-friendly front-end for you to intervene when errors occur or a breakpoint is hit, displaying the stopped function and allowing you to browse the )SI stack. As well as using the pop-up menu to inspect variable contents, you can edit the stopped function directly in the debug window, set and clear breakpoints, and use the Step Over, Step In, Step Out and Go buttons to control execution. And if you want to resume execution from a different line, use the spin-edit control or (except under Linux) just drag the execution pointer there.

##### The APLX Workspace Explorer

##### The APLX Debug Window

#### Cross-platform APL GUI applications

Under APLX, you have access to a rich set of user-interface System classes. This includes all of the standard objects such as windows, buttons, list boxes and edit fields, plus more advanced ones such as rich-edit controls, splitters, bevelled outlines, grids, charts, and movie players (also known as 'media' controls). In order to assist in application migration, this implementation is designed for upwards compatibility with MicroAPL's previous Macintosh APL, and is similar to the implementation in APL+Win. Features include better geometry management, improved access to commonly-used features such as file-open and color-selection dialogs, and simplified access to the Clipboard using the System object.

Except for a few controls where the underlying operating system does not provide an equivalent capability, this functionality operates cross-platform. Your APL application written using APLX for Windows will run with little or no change under Mac OS X (with the 'Aqua' look and feel), or under Linux, with the appropriate X-Windows appearance.

Topic: APLX Help : Getting Started with APLX: Introduction to APLX

[ Next | Contents | Index ]