APL Shared Variables

Shared Variables are a feature of the APL language which allowed mainframe APL programs to communicate with other facilities on a computer, which could include external files, DBMS, or other users. Shared Variables were first introduced by IBM in their APL.SV program product in 1973 and continue to be available today in IBM and Dyalog APL for Linux and Windows.

The Shared Variable facility is roughly analogous to a Windows out-of-process server today.

When APL\360 was first introduced in 1968, there were no built-in means by which a user could directly access data from outside of the APL system. Some of the timesharing vendors began offering an external file system at the time, however IBM's approach was to supply a more generic facility whereby an external process could be used by an APL program. Following APL.SV, the IBM VS APL and APL2 program products also supported shared variables, as well as the IBM 5100 line of computers.

Shared Variable Processors were available to allow APL access to the following:

  • Standard operating system files (TSIO)
  • TSO and CMS command processors (AP100)
  • VSAPL Stack Processor (AP101)
  • VSAPL Session Manager (AP102)
  • CMS Native Files (AP110)
  • CMS and TSO Native Files (AP111)
  • VSAM Files (AP123)
  • Full Screen Display Manager (AP124)
  • IBM Graphical Data Display Manager (GDDM) (AP126)
  • IBM DB2 (AP127)

In the early 1980s, I. P. Sharp Associates, which offered a rich and advanced APL, introduced Shared Variables in their product offering. Many of the Shared Variable Processors available for IBM products were also written for Sharp APL, notably TSIO (called PJAM), AP124, AP126, and AP127. Further, as I. P. Sharp also offered IPSANET which allowed in-house clients of SHARP APL to be connected to the network, a Network Shared Variable Processor, or NSVP, allowed programs from one mainframe site to access another. NSVP predates the widespread usage of the Internet by five years.

Shared Variables were one technique used by APL implementors and vendors to increase the richness of the APL language, doing so without touching the core implementation. With the advent of more powerful personal computing, the exodus of the APL user community to smaller computers was inevitable. APL was first available on 8008, 8080, and Z80 based hardware, later the original IBM PC, and today on the 32- and 64-bit Linux and Windows workstations. Although Dyalog APL included an implementation of shared variables for communication with the now-deprecated Microsoft Windows DDE, it is interesting to note that only IBM continued to use Shared Variables as a means to supply new features to their versions of the APL2 language for non-mainframe computers.

Nearly all other APL vendors chose to implement new functionality, such as access to Linux and Windows native features, graphical user interface, presentation graphics, database management system interfaces, and so on, more directly in their respective versions of the APL language. In modern non-IBM APL implementations, the Shared Variable interface has been largely supplanted by COM, ActiveX, and .Net.

Famous quotes containing the words shared and/or variables:

    When cafe life thrives, talk is a shared limberness of the mind that improves appetite for conversation: an adequate sentence maker is then made good, a good one excellent, an excellent one extraordinary.
    Vivian Gornick (b. 1935)

    The variables are surprisingly few.... One can whip or be whipped; one can eat excrement or quaff urine; mouth and private part can be meet in this or that commerce. After which there is the gray of morning and the sour knowledge that things have remained fairly generally the same since man first met goat and woman.
    George Steiner (b. 1929)