bluuebunny/crossref_metadata_2025 huggingface dataset:
Automatic programming of APL functions for screen management
Authors: Chua Y. S. , Winton C. N.
Published: January 2007

Defining and processing screen displays at present is typically a tedious and system dependent task. In this paper, four fundamental primitive-type functions are proposed for managing input and output for a display controlled via a user-accessible memory mapped screen organization. A utility is described in this context for relieving the programmer from the repetitive tasks of coding input/output instructions and the associated functions for data type checking. The programmer may define forms, protected text information, unprotected fields, and field attributes in a user-friendly manner. Necessary APL functions for performing the actual user/display interaction are generated either by the utility at the time the form is defined, or dynamically via a virtual memory management strategy. As a result, the programmer's efforts may be concentrated on the actual processing of information, minimizing the time needed to prepare a user-friendly interface. Details are supplied as they pertain to APLSV in the IBM 5120 environment.
A powerful but simple editor based on APL
Authors: Brenner Norman
Published: January 2007

An experimental full screen editor has been written in APL for IBM 3270 display terminals, based on the following principles:

• a small command repertoire, based on APL syntax

• an undo facility for correcting mistakes

• internal dependence upon a small number of editing primitives

As written, the editor contains two major commands, thirteen minor commands, and permits all of APL for a macro language. The internal primitives are Erase, Insert Gap, Overlay and Find.
APL syntax and semantics
Authors: Iverson Kenneth E.
Published: January 2007

This paper presents a working model of APL syntax and semantics that incorporates explicit representations of functions, operators, and syntax, thus providing a basis for the clear and explicit statement of extended facilities in the language, as well as a tool for experimentation upon them. Use of the model is illustrated in the treatment of the syntax of operators, and in the discussion of a number of new or recently-proposed facilities including indirect assignment, the operators
axis, derivative, inverse,
and
til,
and the functions
link,
and
from
. The entire model is included in an appendix.
Toward shared variable events implications of (@@@@)SVE in APL2
Authors: Gerth John A.
Published: January 2007

APL2 has two extensions for shared variables, a system function, (@@@@)
SVS
, which returns the access state of variables and a system variable, (@@@@)
SVE
, which provides a rudimentary mechanism for detecting events associated with shared variables. Implementation of these constructs raises questions about the signalling rules followed by Shared Variable Processors. This paper discusses those questions and suggests that further research be done.
Designing and implementing an array theory incorporating abstract datatypes
Authors: Kajiya James T.
Published: January 2007

We describe a variant of More's array theory which has an extra function we call
promotion.
This function effects an abstract datatype facility very similar to Smalltalk classes. We discuss how the addition of promotion solves some programming language design issues not addressed by standard array theory as well as extending the expressive power of array theory. Finally we discuss how the inclusion of classes simplifies the implementation of not only array theory but also present day APL interpreters as well.
APL standardization
Authors: Morrow L. A.
Published: January 2007

The Working Draft for an International Standard for the Programming Language APL is now in its fourth revision. It is the work of several national committees and many dedicated individuals. If all goes well, the document will be made available for public comment sometime in the latter half of this year [1983].
Interactive design of neutron beam collimators using the Monte Carlo technique in APL
Authors: Bastian C.
Published: January 2007

The scattering and absorption of a neutron beam in a system of collimation rings is simulated step by step under user's control. In the APL notation, the expression of a parallel Monte Carlo simulation scheme is straightforward. Coupled with a fullscreen processor, it also provides the user with many possibilities of direct intervention, as well in the process of defining the collimators as in the simulation itself.
Nonpositional indexing for a relational data base
Authors: Benkard J. Philip
Published: January 2007

Extensions of the set of character scalars and of the domain of the INDEX function lead to use of lexical keys for nonpositional indexing of APL arrays. Using keys derived from the items of an array provides an approach to content addressing. When such keys are used to address rows of a matrix representing a relation in a relational data base, they serve as primary keys. To represent a secondary key, the matrix must be partitioned into a vector of appropriate submatrices.
APL and the relational model
Authors: Blackford J. Michael , Taylor Robert M.
Published: January 2007

During the past five years, Xerox has implemented a number of APL applications which interface with an internally developed relational data store. The syntax and features of the Xerox Planning Data Management System (XPDMS) are outlined, and several commonly used application utilities, which extend the power of XPDMS in areas such as array structuring and report generation, are examined. We conclude With a discussion of the effects of the implemented relational disciplines upon the functional management process.
APLNET, a local computer network
Authors: Brocklebank Daniel
Published: January 2007

A local network has been developed to interconnect computers used by the Applied Physics Laboratory of Johns Hopkins University (APL/JHU). The network is based upon proven, commercially available networking components and the APL/MVS interactive system which offers Iverson's APL to users of large-scale IBM processors. The need for users of the APL language to access data within minicomputer systems and to control specialized peripherals connected to those minicomputers constituted a major motivation for the network. Shared variables provide the interface between APL users and the APLNET network. Network management functions are implemented in APL for maximum ease of customizing and changing both the displays and commands used by management.
Understanding arrays
Authors: Brown James A.
Published: January 2007

Papers on general arrays, arrays of arrays, nested arrays, etc. have been in the literature since the early seventies. Many of these papers give readers the feeling that the subject is intricate and requires a large number of functions. Much of the problem was the lack of a notation for talking about such arrays. This paper will discuss a notation for arrays that contain arrays as items and show that the concept of such arrays is easy to comprehend.
The hunting of the Snark
Authors: Chastney Philip R
Published: January 2007

Consideration of the formal semantics of APL particularised to consideration of the unusual properties of the null expression. It was something of a surprise to discover that these properties had already been fully documented 100 years ago by Lewis Carroll (Cal). Since that opus is not normally a part of the lore of APL, this paper attempts to re-interpret the original findings in 20th century terminology.

APL has a number of objects which are, in some sense, null or empty - two empty vectors, multitudinous other empty arrays, undefined objects and local variables with names but no values. There is at least one other null entity. It has no name, and it has no value. Worse yet, it is denoted by the empty string, and is therefore not easily seen.
Practicing on the CORE Graphics System
Authors: Faconti G. , Palamidese P.
Published: January 2007

The system described in this paper is intended to be of assistance to those people who would benefit in their work from computer graphics but do not have the necessary knowledge or familiarity with its methodological principles. This system consists of an APL implementation of the CORE Graphics System, called APLCORE, and of a user interface giving the opportunity of learning and practicing on the CORE concepts. The system is highly interactive, being ready to give explanations to the user at any time, and to teach him the use of the system. The implementation has been made under VSAPL for CMS running on an IBM 3033. The graphics output device supported is the IBM 3277 Graphics Attachment equipped with a Tektronix 619 Storage Display Monitor and a Summagraphics Digitizing Tablet.
Practical uses of a model of APL
Authors: Iverson Kenneth E. , Whitney Arthur T.
Published: January 2007

This paper discusses the use of a general model of
APL
(written in
APL
) which allows convenient definition of new operators and functions and experimentation with their use. Use of the model is illustrated by a number of functions and operators, some of which have been previously discussed, and some (such as the operator
til
) which are new. Details of the model itself are not treated.

The effective use of new facilities introduced into
APL
systems is often long delayed, not only because of a programmer's tendency to cling to familiar ways, but also because the abstract, formal treatment necessary to the specification of a new facility often makes its assimilation and use seem unduly difficult. Working models of new facilities available before their actual introduction can be very helpful in teaching their use, and very effective in speeding their widespread application.

However, the development of an accurate model for each new facility can, especially in the case of new operators, be burdensome, and we have found that a general model of the
APL
interpreter, developed primarily for use by the language designers in the design and modelling of new extensions, can also be useful in providing specific models for the enlightenment of users.

This paper discusses such uses of the general model, employing illustrations executed by the version available on the
I.P.
Sharp Associates
APL
system. Except for information necessary for understanding its use, details of the model will not be discussed here.

The model incorporates a number of facilities proposed in earlier papers [1 2 3]; the more fundamental among them are illustrated below. The model, invoked by executing the function Δ
APL
, accepts character input and parses and executes the expression entered. 0-origin indexing is used throughout the paper.
Computer arithmetic and programming languages
Authors: Kulisch Ulrich W.
Published: January 2007

For historical reasons, the early programming languages lacked a precise definition of the arithmetic operations and the roundings which are to be employed. The paper summarizes an extensive research activity on computer arithmetic that went on during the last fifteen years as well as the experience gained through various implementations.

We begin with a complete listing of the spaces that occur in numerical computations. This leads to a new and general definition of computer arithmetic. The arithmetic operations are defined by a general mapping property which is called a semimorphism. We discuss the properties of semimorphisms, show briefly how they can be obtained and mention the most important features of their implementation on computers. The properties of a semimorphism should be used for an axiomatic definition of the arithmetic operations and the roundings within each programming language.

Then we show that the new, semimorphic operations can not be properly addressed by existing programming languages. Correcting this limitation led to extensions of PASCAL [4] and FORTRAN [3]. APL is much better suited for adoptation of the new arithmetic operations.

A demonstration of a computer that has been systematically equipped with the new arithmetic will follow the talk. The new arithmetic turns out to be a key property for an automatic error control in numerical analysis. By means of a large number of examples we show that guaranteed bounds for the solution with maximum accuracy can be obtained. The computer even proves the existence and uniqueness of the solution within the calculated bounds. If there is no unique solution (e.g. in case of a singular matrix) the computer recognizes it.
Using APL in an Artificial Intelligence environment
Authors: Lee Georges , Lelouche Ruddy , Meissonnier Vincent , Zarri Gian Piero
Published: January 2007

The design of a Biographical Database System is used as a means of demonstrating that APL is a suitable language in which to develop large computer systems making use of Artificial Intelligence (AI) techniques.
A financial modeling language using Nested Arrays
Authors: Noss Robert P.
Published: January 2007

The imminent implementation of nested arrays concepts in APL offers a wide variety of potential applications for end users of APL-based financial systems. Historically, limitations of traditional APL tend to inhibit the non-APL programmer in using application packages based in APL, primarily due to syntax conventions which are unfamiliar to financial users who have experience in FORTRAN, BASIC, or higher-level packages based in those languages.

A key element in gaining wider acceptance of APL for financial modeling is a simplification of the APL-based systems to minimize the effects of the idiosyncrasies of APL syntax. STSC's Nested Arrays System (NARS) offers several valuable features toward this end. This paper gives an overview of the APL Nested Arrays Modeling System (ANAMS), which uses NARS features to create an English-like modeling language incorporating features previously infeasible using traditional APL methods.
Teaching a topic in psychology with APL
Authors: Peelle Howard A.
Published: January 2007

This paper describes a curriculum unit in which APL is used to introduce a simple information processing model known as “Pandemonium” [1]. It begins by describing the structure of the model; then the corresponding APL representation is given; the curriculum unit is outlined; and, in conclusion, implications for further developments are mentioned.
Automated testing in APL—an application of exception handling
Authors: Prins Jan F.
Published: January 2007

Several APL systems have recently been enhanced to include exception handling facilities. The construction of an automated tester is presented as a case study of one such definition: the latent expression exception handling system [1] available on STSC's APL*PLUS@@@@ System.

The automated tester was developed as a tool to manage the systematic verification of APL system features through programmed tests. A test is an APL program containing assertions that prescribe the outcome of associated statements. The tester verifies that the asserted outcomes are in fact realized during execution.

This paper describes the central role of exception handling in the implementation of the automated tester. When tests are executed as APL programs, the exceptions generated by the assertion construct can be used to control interpretation of the assertion. Other errors encountered during test execution must be intercepted and recorded, so that it is possible to assert that a statement results in an error. Finally, since the tester should execute large sets of tests unattended, it should not be interrupted by improper tests or unexpected results.
APL event / response programming
Authors: Rabenhorst David A.
Published: January 2007

A proposed mechanism is described by which responses can be programmed to react to APL events. Events can be trapped, and a response is executed either where the trap is laid, or where the event occurs.
A survey of extensions to APL
Authors: Ruehr Karl Fritz
Published: January 2007

A survey of proposed extensions to the APL language is made with emphasis placed on the motivations for various proposals, the differences between them and the consequences of their adoption. Some issues of a more general nature concerning the purpose, process and direction of language extension are also discussed. An extensive bibliography is provided with annotations concerning the nature, development and influence of various authors' works. Areas of extension encompassed by the survey include nested arrays, complex numbers, uniform application of functions, laminar extension, primitive functions, control structures, direct definition, operators, system functions and variables, name scope control and event trapping.
APL
Authors: vonBerg William G.
Published: January 2007

SYBRON Corporation is a diversified manufacturing company operating in twenty-one countries around the world. The complexity and geographical distribution of SYBRON operations have increased as the company has grown.

In the last eight years, innovative APL systems combined with an extensive communications network have provided corporate and division executives with powerful new tools for management decision making.

Timely information is an invaluable resource. At SYBRON, it is available in similar form from common databases at appropriate levels of management regardless of geographical constraints.

The power to acquire, analyze and distribute information, however, is not an end in itself. It has positive impact on the corporate 'bottom line' only if it is continuously responsive to organizational goals and business objectives. SYBRON's organizational goal is to provide a favorable return on investment to our shareholders. APL systems are a valuable tool in achieving that objective.
Design considerations of a micro-based APL
Authors: Wilson J. C. , Wilkinson T. A.
Published: January 2007

This paper discusses some of the decisions involved in the creation of Waterloo microAPL. It describes the goals of the project and some of the concerns with respect to a sucessful implementation. An explanation of the portable software philosophy is included along with some details of the versions of Waterloo microAPL presently in existence.
A distributed file system in APL
Authors: Barasz Jean-Pierre
Published: January 2007

This paper describes an extension to the APL-S system that allows accessing directly from one host computer the files based on other computers tied to the same public network.

APL-NET makes easy the development of distributed processing applications by handling internally all synchronization problems inherent to cooperating processes on different machines.
Adding and using structure in general arrays
Authors: Benkard J. Philip
Published: January 2007

Examples of pre-APL general arrays suggest uses for APL II. Two structure-creating functions are proposed. Using numerical or logical control arguments, they partition a level of an array regularly or irregularly, with or without reuse of items. The resulting arrays reduce string search to item search in two distinct ways. They can be used on arrays of any rank to simplify search for abstractly defined patterns of relationships between nearby elements or to construct a tessellation by repetition of a given pattern. The relationships between these techniques and programming techniques using operators is noted. Formal identities relate the two proposed functions to APL I functions and to each other.
An APL pattern-directed module for bidimensional data analysis
Authors: Bianchi Silvana , Mussio Piero , Ventura Anna Della , Rampini Anna , Dell'Oca Maurizio
Published: January 2007

We suggest that APL may effectively be used for the implementation of pattern directed production systems (PDPS) for the analysis of bidimensional data. These systems look for interesting or important situations occurring as patterns in their input or memory data. These patterns cause the execution of suitable functions. Moreover APL makes it possible to carry out in a natural manner the synthetic and expressive definition of the patterns and then allows to verify the efficacy and power of such definition. We face these problems through MIPS (Module Interpreter for Production Systems).

In the work described, simple idioms and skeletons are used to set up the definitions and the instruments.

The system is described through two examples of application to the analysis of digital images from different experiments.
Hidden plane elimination and surface shading of polygons representing buildings using APL
Authors: Cornell David L. , Julian Warren G.
Published: January 2007

The development of a colour perspective system for the representation of buildings creates different problems from those systems used to represent machine parts, etc. Realism is an important criterion because many users are naive with regard to computers and because they are used to sophisticated representations of buildings (e.g. photographs, rendered perspectives and physical models). The clients of architects are also interested in the realistic representation of the form of their buildings as are the planning authorities who must approve new developments.

As part of a system to produce coloured views of buildings under sunlight and skylight conditions, this paper discusses the problems of colour shading on a Tektronix 4027 type VDT and the process used for hidden surface elimination, both using APL.

In detail the paper explores the unique advantages of APL in implementing a modified Newell, Newell and Sancha algorithm for hidden surface elimination. In addition, it discusses the limitations of colour representation on the 4027 and proposes a technique for producing shading of polygons based on single hues and pattern generations, in order to produce realistic modelling of objects which have a single surface colour.
A regular expression pattern matching processor for APL
Authors: Dempsey Mark R. , Goldsmith Leslie H.
Published: January 2007

Regular expressions are a powerful notation for expressing text patterns. This paper discusses classical regular expressions and their extension into the domain of APL. These extensions are manifest in terms of locator templates, which describe patterns to be searched for, and action templates, which specify an action to be performed when a match is encountered. An algorithm for implementing these concepts is briefly discussed. The algorithm compiles a template into code which is then interpreted in the context of a specific text vector to be searched. Numerous examples are espoused to demonstrate the utility of pattern matching over a wide range of problems.
A pictorial format function for patterning decorated numeric displays
Authors: Falkoff Adin D.
Published: January 2007

An extension to the APL dyadic format function is proposed, using a character vector left argument. This argument is a literal pattern having the exact length of the last dimension of the resultant array. No special markers are required to separate adjacent numeric fields, arbitrary decorations may appear within or outside of fields, negative or positive numbers can be distinguished by symbols of choice, and there is provision for accommodating the number representation practices of different countries. The extension completely covers the present functional capability of dyadic format with one minor exception (and possible improvement) in a detail of exponential presentation.

In the proposed extension, format information is carried in three ways: in the structure of the pattern, in the choice of digits to denote number fields, and in a system variable. Common requirements, such as the use of commas, floating negative signs on either or both sides of a number, and optional suppression of zero values, are achieved very simply.

This paper will describe the evolution of this proposal, which was first discussed at APL/73, give a rigorous formulation of the rules, and show examples of its use.
Complex floor revisited
Authors: Forkes Doug
Published: January 2007

Three functions are evaluated for their suitability as the floor function in the complex domain. The functions are evaluated against abstract criteria such as symmetry and convexity, and also for suitability in practical applications. The family of functions derived from floor is developed and examined in each case.
The use of APL as an executable formal language in economics demonstrated by an example
Authors: Janko Wolfgang H.
Published: January 2007

Quantitative models in economics have gained a high degree of both mathematical and notational complexity which often hides the underlying fruitful and essential ideas. The use of complex notations delays the rapid spread of new ideas.

Using an example, we show that the use of APL in the presentation of the ideas of the model and in the proof of the related theorems leads to directly executable steps in the formal proofs, and hence to a better understanding of the ideas behind them. This not only results in a more thorough understanding of the model, but also in an essentially correct algorithm. We thus avoid the need for a separate formulation of the formal model in an algorithmic language.
A structured APL approach to computer aided instruction
Authors: LePage Wilbur R.
Published: January 2007

The APL-based system for Computer Aided Instruction described in this paper is presented as a general purpose system having interest in its own right, and also as an illustration of a “structured” approach to the solution of a relatively complex computing problem. The system meets the more or less mandatory requirement that neither the student user nor the teacher who creates the CAI instructional material should be required to know APL; but the main features are the ease with which a CAI lesson can be created, edited, and modified by a teacher, the “transparency” of the APL system with respect to a student user, and a “modular” design which permits modifications of the system to be made easily. A student employs only one APL function, and there are four functions used in writing the text. Also, in files there are related sets of permanent control functions, and functions and variables related to the text material, which exist in the active workspace only while the system is in use. The system includes a capability for monitoring the progress of students.
Teaching macroeconomics using APL
Authors: Lewis Stephen D.
Published: January 2007

This paper examines the expositional possibilities of teaching macroeconomic relationships and concepts at the introductory and intermediate university level using APL as a pedagogical technique to complement conventional mathematical notation. Structural equations embodying economic models are specified by (explicit-result) functions which are easily recognized by economics students already familiar with these equations expressed in a conventional manner but possessing a minimal knowledge of APL. Key economic concepts such as equilibria, stability conditions, and policies are formulated and discussed. Functions for simulation provide a means for analyzing comparative static and dynamic behaviour. The research reported here is an example of work to investigate 'Teaching Economics Using APL' which is just beginning.
Beyond laminate
Authors: Lucas Jim
Published: January 2007

Lamination is a composition of rank expansion, or creation of new axes, catenation, and an axis operator. These components of lamination are separately defined, then the rank expansion and axis specification are recombined into a single operator, which can be applied in a consistent manner to any APL function for which an axis of application may be specified.

Two different conventions for specifying the new axes are developed, each self consistent. A compatible variation of the syntax is suggested for specifying rank expansion without action of any function along the new axis or axes. The second of the conventions is shown to be compatible with and complementary to axis specification without rank expansion, allowing a common operator symbol and syntax for both.
Compiling into APL
Authors: Mayforth George R.
Published: January 2007

In some programming situations APL code can become as obtuse as that of other languages. One possible way to deal with such instances is to create a high-order programming language (HOPL) which provides an easy-to-code, easy-to-maintain structure and which may be compiled straight-forwardly into APL functions for execution.

Since the HOPL is designed for relatively narrow fields of use, it can be tailored directly to the problem which it solves. Two of the areas where the HOPL concept has proven useful are implementation of a simple, interactive graphics system and selection of data records from a database. We draw examples from these areas to discuss the concept and use of HOPL's.
Namespaces semipermeable membranes for APL applications
Authors: Murray Ronald C.
Published: January 2007

Namespaces are proposed as an extension to APL which can provide for large APL applications the same sort of structure and communications control provided in living structures by semipermeable membranes.

Living systems are partitioned by a variety of semipermeable membranes. Those membranes provide protection and isolation for subenvironments of the entity. They also control the flow of information and material between the subenvironments.

Large applications designed for maintainability and extensibility are similar to living systems. They are hierarchically subdivided into simple subunits which are defined in terms of other subunits and which communicate with them in controlled ways.

APL and most other programming environments do not provide suitable means to enforce the isolation and communication control conventions that are appropriate for large applications. Instead isolation depends on the good intentions and discipline of the implementers and the maintenance programmers.
Teaching a topic in cybernetics with APL
Authors: Peelle Howard A.
Published: January 2007

This paper describes a curriculum unit in which APL is used to introduce models of neural networks. It begins with a simple model for transmitting impulses among a vector of logical neurons; then a more sophisticated model is developed with thresholds, decay, and inhibition in a matrix of neurons; then a general model is offered for higher order arrays of neurons, with dynamic input and automated impulse propagation; and, finally, the APL functions are embodied in an easy-to-use simulation package.

Possible extensions of these models are proposed as student programming projects; some other related topics are identified as potentially suitable for teaching with APL; and implications for computer science education are mentioned.
AIDS, APL integrated-circuit design system
Authors: Penfield Paul
Published: January 2007

AIDS is a programming-based language for denoting integrated-circuit mask art-work. In this language, drawings are denoted using supplied APL functions that return graphical objects or collections of them. Although these functions
can
be invoked interactively, the recommended procedure is to denote an overall drawing as a defined APL function with calls to the AIDS functions. Then executing the function produces the numerical data that represents the drawing, listing the function documents the design, and editing the function changes the design. Of course the function can call other user-defined functions, and the hierarchy of a design can be so expressed, using the normal APL function conventions.
Indexing and indexed replacement in APL
Authors: Pesch Roland H.
Published: January 2007

Indexing and indexed replacement have an exceptional syntax. Enclosed arrays make this syntax unnecessary. An operator with an ambivalent derived function is proposed as the solution. The monadic case performs selection; the dyadic case, replacement.
Execute and its use
Authors: Roden Will J. , Foster Garth H.
Published: January 2007

This paper examines the use of Execute in a large collection of functions found in 468 workspaces in 80 libraries of a large APL system complex. The relationship of Execute to coding style and execution efficiency such as in compiling is overviewed. A summary of previous results in static and dynamic frequency counts of the Execute token is given and the methodology and results of the study are discussed.
Convivial error recovery
Authors: Samson Denis , Ouellet Yves
Published: January 2007

This paper presents a new approach to an Event Control Mechanism (ECM) for APL. After an informal review of some typical ECM implementations, it describes the general architecture of an ECM and shows how the mentioned implementations map onto it. An extended ECM is then presented that combines many features of existing implementations with some new capabilities. It gives the user access to the immediate context of the subexpression where an error occurred and introduces new control functions to allow execution to move to a determined calling environment. The proposed additions aim at a “convivial” utilization of the ECM suitable both to automatic control and to interactive debugging of APL applications.
SETL-a very high level language oriented to software systems prototyping
Authors: Schwartz Jack
Published: January 2007

SETL, like APL, is a language which facilitates manipulation of large relatively abstract data objects, namely sets, vectors, and maps, whose elements may in turn be sets, vectors, or maps. This language has been used to develop executable prototypes of several large software packages, including a full compiler for the new DoD Ada language. This talk will describe the man semantic features of SETL, and assess its use as a software prototying tool.
Use of APL in operations research an interactive dynamic programming model
Authors: Sniedovich Moshe
Published: January 2007

Issues related to the use of APL as an overall environment for operations research activities are discussed. The analysis is focused on the interface between the mathematical and computational environments provided by APL, and is based on experience gained during a three-year period. A simple interactive dynamic programming model is presented for illustrative purposes.
World view from a satellite
Authors: Westlake Philip R.
Published: January 2007

A world map data base is processed by an APL program, called SATMAP, to represent the view of the earth seen from a satellite at any altitude, latitude, and longitude. The data base is processed by line segments characterized in terms of maximum and minimum latitudes and longitudes. This permits a more cost effective searching of the data base against a line-segment-visibility criterion than would be possible testing each point separately for visibility. The resultant view can then be presented on a suitable graphics and/or printer terminal such as a Tektronix 4015.
Multisystem processing with APL
Authors: Sencindiver J. F. , Steinbrook D. H.
Published: January 2007

Interfaces (both ASCII and EBCD) are presented which allow an IBM5100 or IBM5110 with APL to communicate as an intelligent terminal with a host APL timesharing system. The two concurrently active workspaces are coordinated through the Serial I/O Adapter Feature attached to a data set or acoustic coupler. Various transfer options are discussed, as well as hardware and software compatibility. A working application with cooperating workspaces is presented to illustrate some possibilities and implications of the interfaces.
Fuzzy residue
Authors: McDonnell Eugene
Published: January 2007

Certain pairs of arguments to the residue function, as implemented on many APL systems, give results which make it seem as if the ordinary decimal relationships we remember from grade school no longer hold. As far as we can tell, it looks as if a given modulus should divide the right argument, but the implementation tells us it doesn't. A definition for a fuzzed residue function is proposed which resolves the difficulties users have complained of. However, certain points of continuing difficulty remain, where the limitations of machine arithmetic continue to defeat the attempt to model the real number system. The representation function is defined in terms of the residue function, and so is affected by the change in residue. The nature of this effect is also discussed in this paper.
Tentative compilation
Authors: Miller Terrence C.
Published: January 2007

The overall design of an APL compiler which achieves significant savings of temporary storage is outlined. A graphical intermediate representation for APL expressions is described. Transformations which may be applied to this intermediate representation to select improved array access orders are presented with examples of the storage savings obtained.
The application of APL to control more efficient processes
Authors: Reeves A. P.
Published: January 2007

In many instances where a large amount of data is to be manipulated, an APL interpreter is much less efficient than a compiled program. Also there are some tasks which are difficult to achieve with a conventional APL system such as the control of special-purpose peripherals. A system is described in which an APL interpreter is used interactively to control a low-level processor. The advantage of this symbiosis is that the user has available the high-level interactive APL with which to develop programs plus the higher execution speed or extended capabilities of the low-level processor. The general problem of linking an APL interpreter with other processors is discussed and several levels of communication are considered. At the highest level, expressions in an APL-like syntax are passed between two processors. This system was developed for the PDP-11 computer running the UNIX operating system. Arbitrary structures of interconnected processors may be created by this scheme which is simpler to implement than shared variables.
GESOP
Authors: Pierre Michéle , Pierre Philippe
Published: January 2007

This paper presents the results of our research in the use of APL concepts in the development of data-base management systems, and the actual application that resulted'. A brief description is given of APLIXI and its APL interpreter. The theoretical aspects are completed by a general description of the data-base management system GESOP. The application of GESOP to a personnel-management problem is described and examples of its use are given.
Visions
Authors: Rosebush Judson
Published: January 2007

Visions is a collection of APL functions designed to produce two-or three-dimensional graphics and animation. Homogeneous coordinates and transformation matrices have been adopted to permit data, transformations and viewing parameters to be of arbitrary rank and dimension. Drawing is accomplished through the implementation of a shape-independent dyadic draw function which accepts data and transformations as arguments. Clipping, a window-to-viewport transformation, and perspective are incorporated and may be modified under user control. Shape-independent transformation functions are also defined.
Sorting - a new/old problem
Authors: Smith Howard J.
Published: January 2007

With text processing growing in importance as a computer application, the problems of sorting and merging will be encountered with increasing frequency. Various techniques have been used in ordering alphabetic strings, but text processing, involving upper- and lower-case alphabets, introduces an extra degree of freedom and complexity to the problem. This paper will present APL models of a solution for the generalized sorting problem.
Automatic control of execution
Authors: Abrams Philip S. , Myrna John W.
Published: January 2007

Automatic Control of Execution or ACE is a family of APL system extensions designed to automate manual interactions with the APL system. Such extensions are required for building robust, automatic, and cost-effective production programs in APL. Based on an architecture derived from the concept of an “automatic user,”the ACE features provide an orthogonal but harmonious set of system primitives that satisfy this requirement. The ACE features are Detached Execution, Detached I/O, Exception Handling, Deferred Execution, and a System Communication Facility. Each is described in contrast with its manual counterpart.
APL and a Black-Box theory of electric circuits
Authors: Wilson John C.
Published: January 2007

The paper presents the rudiments of a theory of resistive electric circuits viewed as black boxes. The relevant mathematical model is a function mapping voltage vectors to current vectors and having two properties which can be regarded as analogous to Kirchhoff's laws. This treatment of electric circuit theory is unconventional and in fact appears to be new. The purpose of the paper is not to develop the theory itself but to show the convenience and precision of the APL notation in such a theory, and also to illustrate the need, even in a relatively simple application, for general arrays of functions and numbers, and for a notation for and a means of specifying user-defined operators.
Menus with APL, and other full-screen applications
Authors: McKee Terry
Published: January 2007

The full-screen manager for
APL
allows
APL
writers to take advantage of the facilities available on a display terminal. It allows the user to define fields anywhere on the screen for input or output, make them sensitive to the light pen, alter the intensity of the display, sound the audible alarm, make use of program-function keys and accept magnetic-badge reader input. What difference do they make to
APL
and the
APL
user? Do they enable the application programmer to produce better applications? Are they sufficiently easy to use for the problem solver?

The new facilities are described in terms of what they do and no attempt is made to explain the mechanics of how they work. Examples of useful functions are given together with their
APL
code. This paper describes the use of local or remote 3270-compatible screens operating with IBM's VS APL. Through the use of utility functions, device-dependent coding has been avoided. Users of, for example, the IBM 5110 or other manufacturers' graphic displays will use similar routines provided with their devices or can write the functions using appropriate terminology, such as 'bell' for audible alarm, or 'cross hairs' for cursor.
An airline-industry database
Authors: Ensenat N. L. , Rosen G. S. , Speckman F. F.
Published: January 2007

This paper describes the successful implementation of a high-visibility APL application and demonstrates the utility of APL in conjunction with other software systems for large database applications.
Constraints
Authors: Steele Guy Lewis , Sussman Gerald Jay
Published: January 2007

We present an interactive system organized around networks of constraints rather than the programs which manipulate them. We describe a language of hierarchical constraint networks. We describe one method of deriving useful consequences of a set of constraints which we call propagation. Dependency analysis is used to spot and track down inconsistent subsets of a constraint set. Propagation of constraints is most flexible and useful when coupled with the ability to perform symbolic manipulations on algebraic expressions. Such manipulations are in turn best expressed as alterations or augmentations of the constraint network. Numerous diagrams ornament the text.
Programming with idioms in APL
Authors: Perlis Alan J. , Rugaber Spencer
Published: January 2007

Idioms are programming language constructs characterized by frequency of occurrence, unity of purpose, ease of recognition, and composability of use. Due to APL's conciseness and functional orientation, the language contains a large vocabulary of idioms. This paper explores the phenomenon of idioms, discusses how they can be used in teaching programming and understanding programs, and includes numerous examples of their use in practical situations.
Secure application environments in APL\3000
Authors: Marcum Alan M.
Published: January 2007

Various mechanisms have been proposed for implementing secure applications (that is, a function or package of functions over which the author can maintain total control during execution, and whose possibly sensitive information can be protected). This paper describes another set of tools, a “Spaghetti Stack” with “Exception Handling,” for implementing secure applications. (A Spaghetti Stack is a means for capturing a State Indicator execution point, retaining the state, and executing from it later.)
QAS*APL
Authors: Goff Jim , Konopasek Milos
Published: January 2007

QAS*APL is a non-procedural, very high-level language for work with mathematical models. It is a Question-Answering System that has as its central concept the MODEL, which is defined by a set of algebraic or other equations pertinent to a particular subject. The system solves models for any consistent set of input variables. It makes possible the direct, machine execution of an unmodified set of equations, eliminating end-user programming. The system's front end is a terse query language which operates against a backdrop of implicit, automatic program generation. The paper demonstrates the need for and advantages of a systematic and general approach to the given class of problem.
A general method for locally optimal search
Authors: Friedman Allen J.
Published: January 2007

This paper describes a general search procedure for finding a best member of a large discrete set of solutions. The Traveling Salesperson Problem illustrates how the method is used. Two APL functions contain the core of the method. NEXTSET implements the user's definition of the neighborhood of a solution while WHATNOW expresses the search strategy to be employed. WHATNOW can incorporate any calculations, or system or session parameters available to the function as the search progresses, and it passes its determination on to NEXTSET which dynamically expands and contracts the scope of the search.
The geometric primitives of APL
Authors: Thomson N. D.
Published: January 2007

The roles of φ, θ, and ⦰ in describing the symmetries of the square are investigated. This leads to relationships between the results of these functions and the cyclic and dihedral groups of orders 2 and 4. Numerical modelling of these groups is accomplished through the primitives ⊥ and ⊤ which are thus seen to play an important auxiliary role. Next the behavior of the functions @@@@ and @@@@ applied to permutation vectors is investigated, and parallels are observed between these primitives and the primitives φ, θ, and ⦰. These similarities are heightened by considering the partitioning of all permutations of a given order according to their internal symmetries.
Some implications of APL order-of-execution rules
Authors: Lathwell Richard H.
Published: January 2007

An implementation of APL is necessarily a rigid encoding of the rules of the language, including a de facto order in which expressions are evaluated. The order of execution is perceived in an APL program by the way in which side effects such as nested specification, specification of global variables within defined functions, and shared variable values affect the outcome of expressions.

Concern about variation among implementations and distasteful results (see for example, “APL Problems with Order of Execution”, Clark Wiedmann, in the March 1978 issue of Quote Quad) led to a proposed definition for the order of evaluation of APL expressions which received general acceptance at an APL implementors' workshop at Minnowbrook in September 1977.

The refined “right to left” evaluation rule is examined and compared with other possible choices, through the use of simple APL syntax analysis models, to determine its implications on storage requirements, computation requirements, and mathematical identities.