bluuebunny/crossref_metadata_2025 huggingface dataset:
A dyadic determinant function
Authors: Baron Sylvain
Published: January 2007

This paper proposes to define a dyadic determinant function as the n-th exterior power of an array. When the array is a square matrix and n is its row (or column) number, we obtain as a limit case the usual monadic determinant function. This approach provides a natural definition of the determinant of a non-square array as used in Lagrange's identity or Laplace's rule of expanding determinant. On the other hand, the successive exterior powers of a matrix provide a direct means of computing the coefficients of its characteristic polynomial.
An extension of relational database model to probabilistic data
Authors: Beltrame Renzo
Published: January 2007

In many applications, for example in representing data concerning historical “objects”, alternatives are the rule; so we are led to a probabilistic scheme in their representation. A deterministic approach, which underlies actual DBMS types, leads to very poor results, and, in certain cases, to misleading ones too. An extension of relational model is proposed to take into account these aspects, and the effects of a non-deterministic approach on operations concerning both relations and database are examined. A formal description of this extension is presented with reference to the internal representation of data. The effects on the queries are outlined. A representation as a general array is discussed which preserves the typical properties of the relational model with deterministic data, and the form of the operations.
An APL interface to the open systems interconnection for large scale application systems
Authors: Beltrame R. , Faconti G. , Palamidese P.
Published: January 2007

Large scale applications require the integration of logical and physical resources (i.e. systems) to be mainly operated by non programmers. In many cases this integration is obtained by gathering in a computer network the different systems which are part of the application itself. The Reference Model of Open Systems Interconnection (OSI) provides a common basis for the coordination of standards developments for the systems interconnection. APL can be profitably used as end-user interface language to access the services provided by a distributed application implemented following the OSI Reference Model.
Rank vs depth for array partitioning
Authors: Benkard J. Philip
Published: January 2007

In some applications a subset of the dimensions of an array is used to define a framework which holds instances of cells defined by the complementary subset. A rank four array might be viewed as a page containing several rows of graphs. This structure could be used to apply a rotate function to each of the graphs. Existing proposals to implement a general scheme of program controlled distribution of functions over data arrays are compared. Nested arrays are suggested as the preferred technique. The analogy between the EACH operator and the ENCLOSE function in APL2/NARS leads to remarks on arrays of functions. In that context function distribution becomes a special case of scalar extension.
Function arrays
Authors: Bernecky Robert
Published: January 2007

A functional enclose operator, which returns the scalar representation of a function, is introduced. By providing a scalar representation of a function, functional enclose provides capabilities similar to those of SHARP APL Packages. When used in conjunction with the formatting function, functional enclose supplants (@@@@)cr.

Apply is defined as a proper extension of the execute (@@@@) primitive function to the domain of enclosed function and array arguments. Apply, in conjunction with functional enclose, extends the architecture of APL from SIMD [Single-Instruction , Multiple-Data] to MIMD [Multiple-Instruction, Multiple-Data], by allowing creation and concurrent execution of 'arrays' of functions. This provides a concise facility for the establishment of concurrent processes within a single APL task.

Additional extensions allow these processes to communicate via shared variables, permitting the logical creation of arbitrary interprocessor connections, and facilitating the synchronization and control of such processes. Apply provides a hardware-independent way of describing various MIMD architectures, such as banyan- or cube-connected machines, and dataflow machines.
Function assignment and arrays of functions
Authors: Brown James A.
Published: January 2007

APL
has a simple direct notation for associating an array with a name. This paper proposes a notation for the direct association of names with functions and explores new syntax and operations for computing with arrays of functions.
An APL system for interactive scientific-engineering graphics and data analysis
Authors: Burkland G. J. , Heidelberger P. , Welch P. D. , Wu L. S.Y. , Schatzoff M.
Published: January 2007

This paper describes an APL system, GRAFSTAT, designed for interactive scientific-engineering plotting, data analysis, applied statistics, and customized graphics output development. It runs under VSAPL on the IBM 3277GA and 3279 graphics terminals. The system has a full screen, menu driven interface. It is synergistic with APL in that full screen entries can be APL expressions and in that the interactively developed full screen responses can be run noninteractively within the user's own APL functions. The system contains a wide range of graphics capabilities, a set of commonly applied data analysis and statistical routines, and utilities for cataloging full screen responses, application functions, and data, i.e., for the general management of the user's work sessions and work units. It provides an excellent example of the potential of APL as a software base for scientific-engineering applications in interactive environments with high resolution graphics displays.
APL approaches to time-phased financial modelling logic
Authors: Fox Ralph L.
Published: January 2007

This paper presents several techniques for deriving scan-based APL algorithms for commonly occurring financial modelling relationships where the projected values of a time series depend on some combination of previous values and other computations. Benchmark results are included that show the degree of improvement over traditional looping algorithms.
Misnet—the APL management information system for communications network
Authors: Gilyutin Isaak
Published: January 2007

MISNET is a multi purpose computer system created for the Western Union Telegraph Company to serve as a combined report generator, management information tool, and decision support system. Its main purpose is to evaluate all existing and forecast transmission requirements with regard to the Company's transmission network capacity. The system provides access to the data bank about the Company's communications network, routes and channels. The network itself consists of three sub networks: microwave terrestrial, microwave satellite and cable. Each of three sub networks in turn can carry regular 4 kHz voice frequency or wideband frequency channels. All three sub networks are interconnected. Routes through the network can be “pure”, when only one sub network is used, or “mixed”, when more than one sub network is used. An explanation for the choice of APL as the implementation language is given. System design problems are enumerated and data base design is discussed in detail. Special attention is devoted to route optimization and profitability analysis for new customer requirements. The algorithm for finding optimum routes is given, with an example and supplements. The profitability analysis algorithm is also discussed.
Computational geometry with APL
Authors: Gustafsson Stig
Published: January 2007

This paper describes a system for computational geometry consisting of a method for representation of geometric figures and a set of APL functions. The system has been constructed at Kockums Computer Systems AB and is used as a research tool in the development of the STEERBEAR 3 ship-building system.
An APL approach to differential equations
Authors: Helzer Garry
Published: January 2007

Initial value problems are solved numerically by computing the solution of a related difference equation. In APL it may be more efficient to approximate the solution of the difference equation using Picard iteration than to compute the solution of the difference equation directly.
Logic programming in APL
Authors: Jernigan Robert
Published: January 2007

The programming of an expert system requires a language for specifying the rules that an expert uses, a data base for storing his knowledge, and a suitable interactive system. Logic programming has been described as a way of implementing expert systems. With logic programming, rules are expressed as assertions of what is true when certain conditions are true. To be true, the assertion has to be based upon fact or upon an inference derived from facts. This paper describes an implementation of a PROLOG-like language in APL. The intent is to achieve logic programming capability while retaining the full facility of APL. PROLOG is both an extension of LISP, thereby satisfying the needs of the Artificial Intelligence community, and a language for relational databases. This implementation leans toward the relational data base approach.
A proposal for control structures in APL
Authors: Samson Denis P.
Published: January 2007

An extension to APL is presented that introduces the “sequence” operator, allowing “case” and “while” blocks to be used as general control structures. These fully exploit APL's array-oriented expressivity and allow greater clarity in APL programming.
Cultivating trees - an essay in APL2
Authors: Thomson N. D.
Published: January 2007

General arrays and the each operator allow tree-structures to be modelled in ways which have not hitherto been possible in any programming language. There are many algorithms in mathematics associated with tree-structures, which suggests that a whole new collection of relevant idioms and techniques will evolve. This paper is intended to illustrate ways in which the concepts of APL2 match those which arise in studying trees. After an introductory overview addressed to those who are unfamiliar with the basic notions of general arrays the discussion is developed through a set of 6 problems, which appear between them to raise many of the more important considerations involved.
Interactive flowcharting on a presentation graphics terminal
Authors: Tollet Gustav
Published: January 2007

The application to be described supports the interactive creation and editing of ISAC activity graphs (a type of flow charts) on an IBM 3279 graphics terminal and output on an IBM 3287 graphics printer. It is experimental and primarily addresses the graphical aspects of the problem involved. Its main points of interest should lie in the multiplicity of function made possible by APL even in a small-scale project like this one, in its extension of GRAPHPAK facilities and usage of GDDM to solve a number of technical problems, and in the level of graphical interactivity which, perhaps contrary to common belief, is attainable on a presentation graphics terminal. The application is called ISACAID.
Interactive circuit design program in APL
Authors: Zein D. A. , Ho C. W. , Gruodis A. J.
Published: January 2007

The Interactive Circuit Design Program is a multi-purpose program implemented in APL. It features steady state (DC), frequency (AC), and transient (TR) analysis of linear and nonlinear circuits with arbitrary nonlinearities. Lossless coupled and uncoupled transmission lines in the DC, AC and TR modes can be analyzed in addition to inhomogeneous media in the DC and TR modes. A graphic interface allows users to plot outputs from TR or AC runs on a vector storage tube. The analytic techniques used include a modified nodal method of formulation, an APL-tailored parallel pivoting strategy variable order, variable step implicit integration scheme with an efficient integration strategy.
APL as a tool for multivariate statistics
Authors: Thomson Norman
Published: January 2007

This paper describes ways in which the combination of APL and graphics terminals can provide powerful means both of understanding and executing data analyses, and thereby lead to rapid discovery of structures and interconnections in multivariate data which numerical tabulation alone does not always reveal. The aims are to exploit the exceptional expository powers of APL (including APL2) to describe and differentiate between techniques currently used in multivariate analysis, and also to demonstrate how functions developed for exposition can be immediately applied in exploratory data analysis.
APLDOT an APL programmer's modeling language
Authors: Kruba Stephen R.
Published: January 2007

APLDOT is a general purpose modeling language that has been used successfully in a variety of applications. To date, it has found widest applicability as an extension to APL in complex modeling problems. APLDOT significantly amplifies the power of APL by: (1) providing a useful model hierarchy; (2) providing additional indexing paths into the model; and (3) by handling calculational precedence (APLDOT is a non-procedural language).
Extending a report generator written in APL
Authors: Hirschberg David
Published: January 2007

This paper describes extensions made to an interactive report generator (ADRS2) written in APL, to handle multiple files, and specifically relational data bases, while still preserving its well-tested user interface. The user interface, the implementation and the application area of this extension are discussed. The method can be adapted to other interactive report generators written in APL.
A file system for VM-TOTAL/APL
Authors: Mann R. Bruce
Published: January 2007

This paper describes a disk and tape file system for VM-TOTAL/APL. The file system and its environment are introduced, and design objectives and considerations are presented. All significant features are briefly discussed with emphasis given to facilities that were developed specifically for the VM/CMS environment.
APL and I-D-S/II APL access to large databases
Authors: Frost Bruce
Published: January 2007

This paper describes the CP-6 APL interface to I-D-S/II databases. Special emphasis is given to those capabilities that are available within APL that are not generally available in other programming language interfaces. A brief description of the I-D-S/II functionality is provided for those not familiar with CODASYL database systems.
Attached processors in APL
Authors: Soop Karl
Published: January 2007

An extension to the semantics of
APL
is proposed. It allows one
APL
Processor (
APLP
) to attach another processor, which may be an (
APLP
) with its own workspace, or some other processor. A special case is signon from a terminal, where the attaching processor becomes a human user acting through a workstation. Attached processors communicate through shared variables, and the impact on the
APL
syntax is minimal. The mechanism has the potential to allow, for example, session managers, editors, and event—handling support to be implemented In a natural way through conventional
APL
programming. Such facilities will therefore enjoy an entirely new flexibility and open-endedness, not seen in comparative proposals, which usually depend for their realisation on new
APL
lansguage constructs.
A.P. 1 APL.68000's local auxiliary processor mechanism
Authors: Cleave A. Van
Published: January 2007

This paper will discuss the implications, uses, and internal architecture of APL.68000's Auxiliary Processor 1, a special auxiliary processor which allows users to create their own
local
auxiliary processors.

As microcomputers become more and more sophisticated, it is increasingly important that APL systems on micros can interface to the “outside world” in as general and as simple a manner as possible. There are three key things that the APL user on a micro needs to interface with:

1) Peripherals

2) Operating System Routines

3) Non-APL Sub-routines (Assembler, Fortran, etc.)
The perils of plenty - managing a large APL project
Authors: Wade Jill , Vislay Mary
Published: January 2007

APL has many advantages that make it well suited to the development of large interactive systems. However, the ease of writing APL code can often obscure the fact that coding is only one part of the total development process, and formal management techniques are essential to ensure the successful completion of the application. This paper examines some of the management problems that were encountered in the development of STSC's Long Range Planning System, and suggests ways in which they may be overcome.
A flexible full-screen applications development workspace utilizing APL syntax
Authors: Weintraub David M.
Published: January 2007

A user/programmer support package for developing full-screen read and write applications is described. The design makes strong use of inherent APL syntax. The applications functions are device- and feature- independent, and may easily be extended or modified to support similar image-formatting tasks. Details of the supporting local auxiliary processor are not addressed. The design illustrates the advantages to be gained by using a well-chosen data structure to determine the requirements of the supporting functions, rather than creating APL functions to follow the restrictions of specific applications hardware.
A microcomputer APL*PLUS system implementation
Authors: Gates Phelps
Published: January 2007

The APL*PLUS/80 System, completed in early 1982, is the most complete microcomputer implementation of APL to date. It includes all of the traditional APL language primitives and most of the STSC APL*PLUS system enhancements. This paper considers some of the problems we encountered in squeezing an APL system of this size into a small computer and the stratagems used to overcome the problems. We then discuss some of the ways in which a microcomputer implementation gives opportunities to increase the usefulness and user-friendliness of APL in ways that are not possible or appropriate in a mainframe implementation.

We chose to make some aspects of the implementation as easy as possible by designing the system for a single target machine, the Radio Shack (TM) TRS-80 (TM) Model III. This computer was chosen for its speed, features, and low cost. The summer 1982 list price for a typical configuration of hardware and software is $2590 (without printer).
An APL compiler for the UNIX timesharing system
Authors: Budd Timothy A.
Published: January 2007

An APL compiler running under the UNIX timesharing system on a PDP 11/70 is described.
A performance comparison between an APL interpreter and compiler
Authors: Wiedmann Clark
Published: January 2007

An analysis of the execution of several simple APL statements illustrates that interpretive overhead in the form of setup time is awesome, and is on the order of 100 times as much as the per-element time. Comparison with an experimental compiler for APL illustrates that the setup time can often be eliminated or reduced greatly, producing code fragments that are more than 300 times as fast in favorable cases. Further work on the compiler should make some compiled code fragments about 500 times as fast as interpreted programs in favorable cases. In less favorable cases, performance improvements of a factor of two are commonplace. Many opportunities remain to improve the performance in such cases. A production compiler based on this work might allow use of APL to solve problems that in the past have been prohibitively expensive for APL solution.
APL2 syntax
Authors: Brown James A.
Published: January 2007

This paper discusses the scanning of APL2 statements and shows that it is dynamic and that the language is inherently interpretive.
Reflections on grades
Authors: Benkard J. Philip , Seebe John N.
Published: January 2007

The APL function REVERSE and a certain defined function generate a group of order four on permutation vectors. The group is extended with the GRADE-UP function to produce GRADE-DOWN and the order eight group known as D4, the fourth dihedral group. The symmetries of a square are generated by REVERSE and TRANSPOSE on square matrices. The resulting isomorphism maps GRADE-DOWN and its inverse to the ninety degree rotations. APL's powerful formalism easily reveals the isomorphisms between the domains of algebra and geometry.
APL function variants and system labels
Authors: Rabenhorst David A.
Published: January 2007

While APL extensions are adding power to the language by generalizing and adding operators, the necessity of defining additional attributes of functions is becoming increasingly visible and no longer ignorable. This paper describes the function variant problem, and proposes a solution by introducing the concept of system labels. Three system labels are described: (@@@@)
ID
for the identity function, (@@@@)
INV
for the inverse function, (@@@@)
FL
for the fill function.
Exception handling in APL
Authors: Adler Dennis R.
Published: January 2007

This paper examines APL exception handling facilities as they relate to applications programming. A brief background on exception handling is first presented. Next, the qualities most desirable in an exception handler are discussed. These criteria are then used to examine and compare two different implementations of an exception handling facility, those of STSC, Inc. and I. P. Sharp Associates (IPSA). Finally, a set of APL-coded handlers is compared to the system-level implementations on the same basis.
The use of APL primitives and function domains to produce general APL solutions to problems involving discontinuities
Authors: Julian Warren G.
Published: January 2007

There are many mathematical problems where discontinuities or varying boundary conditions mean that a number of different solutions can apply, depending upon the domains of particular variables. In traditional algebra these solutions are usually listed as a set of solutions with the domains of the variables stated for each solution. In programming a similar technique is involved, using branching to select the expression to be evaluated depending upon the domains of the variables involved.

By using APL, both as an algebra and as aprogramming language, single expressions for many such problems can be written (general solutions) which are valid for all variable domains. These solutions are generated using APL primitives to control either the domain of a function or its result.

The paper will discuss the philosophy of the method and its application in simplifying the algorithmic solutions of problems involving restricted domains and discontinuities. Examples relating to the determination of shear forces and bending moments on isostatic beams and utilisation factors (used in electric lighting design) are used to demonstrate the generation of a general solution to a problem involving both restricted domains and discontinuities.
Rectangularly arranged collections of collections
Authors: More Trenchard
Published: January 2007

The concepts of collection, rectangular arrangement, and membership for nested arrays are discussed separately and independently of array-theoretic operations. The concepts are illustrated by examples generated in the Nested Interactive Array Language, Nial.
Extending APL “optional arguments”
Authors: Naugle Richard L. , Schlam Joseph B.
Published: January 2007

Two types of APL arguments are defined—positional and optional. APL currently provides limited “optional argument” capabilities by optionally specifying the axis on which to operate for some primitives. Other current APL optional argument capabilities, defined as global keywords, and optional argument capabilities requiring an expansion of APL, defined as local keywords, are introduced and compared. When the values passed to a function do not change frequently between calls, local keywords are shown to increase the relevance, power and simplicity of APL.
Large arrays and files
Authors: Pesch Roland
Published: January 2007

Current APL file systems force explicit iteration on each filed item and are difficult to use. A file system in which files are addressed as APL variables is described. It is made up of four components, each useful in its own right. Two have already been implemented: enclosed arrays and the shared variable processor. Two are proposed in the paper: storage outside the workspace of large enclosed values, and a simple auxiliary processor to store by name, and later initialize, values of variables shared with it.
Array diagrams and the Nial approach
Authors: Schmidt Fl. , Jenkins M. A.
Published: January 2007

The Nested Interactive Array Language, Nial, combines APL and LISP concepts and is based on the theory of nested rectangular arrays. Array theory provides a concise mathematical model of data capturing the essence of everyday data objects. Arrays are displayed by diagrams, which provide an easily comprehended way of communicating the rectangularity, nesting and content of arrays.

A novel drawing technique is presented in which any array diagram can be drawn by combining only three kinds of primitive diagrams according to a few simple rules. The properties of the primitive diagrams and the consequences of the combinatorial rules are studied and exemplified.
A programming environment for blind APL-programmers
Authors: Schweikhardt Waltraud
Published: January 2007

This paper reports on the programming environment we developed for blind APL-programmers. We defined a Braille-APL-Notation and developed an APL-editor, fitting the special needs of blind programmers. Since January, 1980 the Braille-APL-Notation has been successfully used by a blind programmer in our Institute. We discuss various problems blind programmers have in communicating with a computer, and present the hardware and software environment we provided and tested in Stuttgart. Finally, we report on our experience and results.
Computational simplicial homology in APL
Authors: Shallit J. O.
Published: January 2007

In this paper, we describe a set of
APL
programs prepared by the author for computation of homology groups of simplicial complexes. These programs may be used in conjunction with a first course in algebraic topology in several ways: to help the student gain an intuitive feel for homology theory, to suggest plausible conjectures in algebraic topology, and to aid proofs.
The application of an APL micro computer solving a commercial problem - a case study
Authors: Ward H J , Hurdley P W
Published: January 2007

This paper examines, in detail, three systems originally running on a major APL timesharing service which have been re-developed to run on an MCM APL micro computer complex for BL - a major British motor vehicle manufacturer.

Four aspects of this re-development project are considered:

a) The background to the project, why re-development was considered and the selection of the computer equipment.

b) Appraisal of the three systems and the analysis performed on each - its use; its cost; its size; its operational environment and its overall suitability for the micro computer option. Advantages of a new approach and the development of specific tools to provide the service levels expected by time-sharing service users.

c) Systems design and the influence of a changing user environment and the constraints imposed by a micro computer.

d) The user's point of view in respect of:

- additional and changed responsibilities

- field support

- the user/machine interface.

In conclusion, the suitability of the solution and its development policy is reconsidered after some months of use. Problem areas seen with the benefit of hindsight are now identified and some ideas are put forward in an attempt to avoid them in future.
A vision of probability and statistics using APL
Authors: Alvord Linda
Published: January 2007

Topics in probability and statistics are becoming more and more common in the high school curriculum of today. APL provides a concise language to express these concepts. If it is used in conjunction with a computer, the tedious development of important notions can be simplified. In choosing a sequence of ideas to explore, I am guided by the rather natural way data are collected, organized and analyzed. Computer simulations of experiments are possible to vary the collection process. I encourage students to use their imagination to visualize and create arrays of information and to become comfortable with a language capable of expressing and transforming those data into usable statistics. APL is used to develop theoretical expectations and to provide sampling data for comparisons. Finally, conclusions are drawn. As a bonus, the universality of the mathematical models make them easy to generalize and apply to many diverse situations. We have worked for many years in Scotch Plains-Fanwood High School to blend APL into our teaching of traditional mathematics and science courses. This paper points toward its use in developing concepts in probability and statistics.
The dynamic storage management for increasing a programming language power
Authors: Babcicky Karel
Published: January 2007

The runtime storage management system used by typical SIMULA implementations is outlined. The consequences of its global approach, based on the exclusively dynamic nature of the execution data, are assessed.
Tensor and multilinear algebra
Authors: Baron Sylvain H.
Published: January 2007

This paper gives APL models of multilinear forms, tensors, symmetric and antisymmetric tensors, change of basis formula, thus providing a coherent treatment of symmetric and exterior algebras. Properties of determinants are derived from exterior algebra identities, and formal computation of coefficients of the characteristic polynomial of a square matrix follows as a natural consequence.
Using an APL micro computer for distributive processing
Authors: Browne Sandra L. , Browne Adrian
Published: January 2007

There have been significant changes in computer technology since the authors of this paper started working in APL in 1969. From our point of view the most exciting recent event has been the development of APL for use with micro computers. The increasing power of low cost micros in combination with a good communication facility between the micro and the time sharing main frame make it possible to use micros for distributive processing in APL systems.

This paper describes how the authors altered the system design of an existing time sharing APL system to include a micro, and the type of communications facilities which had to be developed for the micro so that no change in data entry procedure was observed by the operators of this system.

The introduction of a micro which cost as much as a terminal cut system running cost by one third, paying for itself in less than six months.
APL and Halstead's theory of software metrics
Authors: De Kerf Joseph L.F.
Published: January 2007

The increasing complexity of computer programs and of the development of systems creates an ever growing need of objective methods for measuring the quality of software. A theory providing this measure to some extent has been developed in the last decade by M.H. Halstead. The only parameters in the developed formulae are the number of operators and the number of operands in the routines. Numerous statistical studies have shown a relatively good correlation between theory and experimental results. The theory is applied in this paper to a set of APL defined functions and the results are compared with those obtained by Halstead for other languages.
An APL poisson solver
Authors: Frank Ronald I.
Published: January 2007

A derivation is presented, based on APL thinking, of a numerical method for solving discrete Poisson equations in a rectangle. The method is equivalent to Separation of Variables, as it must be. It was recovered by this author during the recoding, in APL, of the world's first numerical weather forecast code. von Neumann had presented a formula in 1950, without derivation, for the solution of this type of Elliptic Partial Differential Equation. After using APL to derive the formula, this author then shows the formula equivalent to a Tensor Product method suggested by Lynch, Rice, and Thomas, [2], 14 years after von Neumann's paper. The APL derivation is new and helpful in understanding the structure of the Separation of Variables solution. The derivation depends on APL thinking and manipulations that are not standard in Applied Mathematics.
Parsing and evaluation of APL with operators
Authors: Georgeff M. P. , Fris I. , Kautsky J.
Published: January 2007

The importance of operators in APL is now well recognised, and considerable attention has been paid to the inclusion of more general operators into the language. In this article we consider some of the consequences for the implementation of interpreters and compilers for APL.

We first consider the difficulties that arise with the introduction of function valued and basic valued operators. We then discuss various modifications to the syntactic and semantic structure of APL that serve to avoid these difficulties. Abstraction operators as in the lambda calculus are also introduced. Finally, we describe an abstract machine for interpreting APL-like expressions which is analogous to the SECD machine used in the lambda calculus.
Graphical data structures in APL
Authors: Hardwick Martin
Published: January 2007

The continuing reduction in the price of graphics terminals has led to greater interest in graphics and computer aided design. This trend has in turn focussed attention on methods of modelling graphical data using programming languages and databases. This paper presents a method of defining, analyzing and transforming graphical data using an extended APL notation.

The fundamental extension this notation makes to APL is to allow the items in an APL array to have a user defined data structure. A consequence of this extension is that the items in an array can now represent graphical entities such as circles, lines, points etc. In conventional APL an item in an array must be either a number or a character. In this extended notation an item in an array might be a structure designed to represent a point, or a circle, or any other entity.
A function definition operator
Authors: Iverson Kenneth E. , Wooster Peter K.
Published: January 2007

This paper proposes two related extensions to APL: the extension of assignment to allow a name
F
to be assigned to a derived function by an expression of the form
F
←+.x, and the introduction of a dyadic operator @@@@ to apply to character arrays
D
and
M
so that
D
@@@@
M
produces an ambivalent function in which the dyadic case is defined by
D
and the monadic case by
M
.
Programming development control system
Authors: Juvonen Erkki
Published: January 2007

In an effort to optimize Cobol conversion from one environment to another, an APL system to automate various phases of the conversion was employed. This system performed a lot of actual Cobol code conversion itself, as well as managing flow of Cobol programs from one phase of conversion to another. A pleasant side effect to this approach was the minimization of labor necessary to convert the Cobol code. Manually, a tedious chore, the automated conversion required far less manual effort than initially estimated for the entire conversion project. Many APL processed programs require no programmer effort to complete, while most programming required minimal hand work after the APL phase was completed.

An excercise in running mixed environment - APL, non-APL, interactive, batch -, this effort was a practical and economical approach to the problem at hand.
Generic programming
Authors: Kay Alan C.
Published: January 2007

Early generic concepts in programming languages were mixed-type arithmetic (e.g., “+” used with any combination of fixed- and floating-point numbers) and “print” functions which could be applied to any of a language's objects. Generic concepts reduce the number of terms which must be remembered and permit considerable condensation of language design. Three different paths in the development of generic-concept languages have been followed by APL, Algol 68, and object-oriented languages such as SIMULA 67 and Smalltalk. APL was the earliest and one of the most interesting applications of generic-concept methods, but now makes the weakest use of these ideas.

My talk will use slides and movies to show how the message-object programming system Smalltalk makes use of generic concepts embedded in class descriptions to give rise to a wide variety of simply programmed dynamic simulations including graphic animation, music synthesis, document layout and retrieval, and APL-like calculation features. Many of these systems have been brought to life by child and adult novice programmers.

A short list of references is given for those wishing more introductory information about Smalltalk.
Predicting the profitability of life insurance products
Authors: Mannacio Eugene R.
Published: January 2007

Predicting life insurance profitability is accomplished by making assumptions about parameters such as mortality, lapse rates, and expenses. These assumptions are used to project statutory profits, GAAP profits and model office results.

We have developed an APL system which allows our actuaries to test the profitability of an insurance product for a variety of assumption sets. This system has simplified the process of specifying which assumptions are to be used and has fully automated the calculations. In doing so, it has virtually eliminated our need for special actuarial packages and has reduced the time needed to price life insurance products.

This paper examines some considerations faced in the design and definition of this system.
APL thinking finding array-oriented solutions
Authors: Metzger Robert C.
Published: January 2007

APL is used for processing arrays. This is very different from traditional programming languages, which process single numbers and characters. This difference requires different programming methods. Such methods are array oriented. Several approaches to creating array oriented APL programs are explained here.
Mesa from the perspective of a designer turned user
Authors: Mitchell James G.
Published: January 2007

The Mesa language and run-time environment were designed for the purpose of building systems programs such as compilers, operating systems, graphics software and so on. It is a relatively high-level language with strong type checking and supports the ideas of modular programming and abstract data types. Although the system is compiler-based, one can debug programs interactively in source-language terms.

The language has been in rather heavy use since 1976 by a programming community of a few hundreds of professional programmers within the Xerox Corporation, and a large amount of code has been written in it. This talk will give a designer's retrospective view of Mesa from the vantage point of a serious user and will attempt to evaluate its strengths and weaknesses as a vehicle for systems programming.
Infinite arrays and diagonalization
Authors: Shallit J. O.
Published: January 2007

This paper discusses the application of infinite arrays to several areas, notably the formation of “do-while” expressions. The functions
diagonal
and
inverse diagonal
are defined, with applications to processing both finite and infinite arrays. Infinite arrays are shown to be useful in mathematical exposition. Finally, suggestions are given for the implementation of diagonalization functions.
APL pi designing an APL type font
Authors: Tuttle Joey K.
Published: January 2007

APL is probably best known for its unusual set of graphic symbols. The symbols used to write in APL are very important to understanding the concepts of programs. Some terminals currently in use produce such poor graphic images of APL symbols that the meaning of displayed statements is not clear. In addition, the usefulness of published material depends a great deal on its appearance. The current technology for producing high quality printed material is phototypesetting. This paper is a collection of notes resulting from the author's investigation of the problems involved in designing an APL type font for a phototypesetter.
Improved sharing of APL workspaces and libraries
Authors: Wheeler James G.
Published: January 2007

Years of experience have revealed deficiencies in APL's traditional library structure and its facilities for managing saved workspaces. As part of the development of a new file system, STSC undertook to resolve these deficiencies in a revised design. The rules governing the use of shared workspaces have been broadened and placed under the control of an
access matrix
, giving the user great flexibility in controlling how invidual workspaces are used. APL libraries have been generalized and likewise placed under access-matrix control. System facilities are provided that allow any workspace-management action to be performed under program control.

The concept of the APL workspace has hardly changed since the earliest APL systems; it is worthwhile to wonder why. To programmers weary from battling the job control languages of that era's operating systems, the workspace must have seemed a concept of charming and startling simplicity. To the computer novice, who found in APL a shortcut through the maze of technical lore, the notion of the workspace was quickly assimilated into intuition.
An APL mapping system
Authors: Williams Anthony V. , Winckelman Stephen E.
Published: January 2007

APLMAP is a collection of computer mapping algorithms and support functions which, together with data and coordinates of points, areas, or lines provide mapping and analysis capabilities. APL has a number of advantages in such applications especially when users need ad hoc access to a geographic data base. We describe the currently implemented mapping routines and the data structure and provide examples of output maps. A Tektronix 4013 CRT or 4662 plotter driven by an IBM 3033 using APLSV constitute the present operating environment.
Deferred Execution
Authors: Link Donald A. , Gardner Martin W.
Published: January 2007

Deferred Execution is an APL application that provides users with a “batch” APL facility. This application was made possible by the design and implementation of ACE (Automatic Control of Execution). The motivation behind ACE and a summary of its facilities are provided. The paper also includes the design goals for a Deferred-Execution system and summarizes the final design used. Finally an exciting new approach to application structure is presented, showing how Deferred Execution was implemented as a highly reliable and secure APL application.
A neurologic diagnostic model of the human brain
Authors: Hucko Grace M. , Hagamen W. D.
Published: January 2007

This paper describes an interactive system written in APL designed to diagnose focal lesions of the brain. It uses essentially the same method we teach to medical students. First a patient's signs and symptoms are mapped onto a visual, three-dimensional representation of the brain. Then the selection of the correct diagnosis from the resulting large number of possible sites is obtained by choosing the intersection of the various pathways. The input to the model is a list of signs and symptoms. The output is a drawing of the brain with the resultant lesion indicated by cross-hatching.
Proposal for a complex APL
Authors: Penfield Paul
Published: January 2007

Many people have suggested that APL be extended to complex numbers. Since complex numbers have great importance in mathematics, APL as a mathematical notation is deficient without them. Furthermore, an implemented extension to the complex domain would be of value to scientists, engineers, and educators, who use complex numbers in their work. A proposal for such an extension is presented.
The Dynamic Incremental Compiler of APL\3000
Authors: Johnston Ronald L.
Published: January 2007

Most APL implementations to date have been interpretive because of the dynamic nature of the language. APL\3000 employs a Dynamic Incremental Compiler to allow all the flexibility of change afforded by interpretation, but giving the added bonus of faster execution for programs run more than once. APL\3000 compiles code on a statement-by-statement basis as needed, saving the code and reusing it where possible. A statement is recompiled only when made necessary by changes in syntax or changes in variable bindings. The compiler produces optimized code by employing the Abrams techniques of Drag-along and Beating.
Array theory in an APL environment
Authors: Hassitt A. , Lyon L. E.
Published: January 2007

Trenchard More has proposed an array theory which offers a powerful set of operators and operations on nested arrays. We have written a program called Array Theory/370 (AT/370) which implements these array theoretic operations at the assembler-language level on an IBM/370. We have also written a VS APL auxiliary processor which enables the APL user to access AT/370 and to manipulate nested arrays.

This paper describes the simple but powerful APL-AT/370 interface and illustrates how the interface was used to build an interactive array-theoretic system.
Implementations of APL on small computers
Authors: Bauer Ronald F.
Published: January 2007

The purpose of this session is to discuss implementing APL on small computers. The presentations will deal with design decisions associated with the actual implementations of such systems.
Evaluating extensions to APL
Authors: Brown J. A.
Published: January 2007

This paper presents some guidelines which may be used to evaluate extensions to APL. These guidelines are then applied to some proposed APL extensions including complex arithmetic, functions on non-simple arrays and operators.
An electrical-filter synthesis package based upon vector-space operations
Authors: Marshall T. G. , Liu F. C.
Published: January 2007

A complete APL filter-design package is described which includes provisions for avoiding ill conditioning when polynomials with clustered roots are considered. The solution to the numerical problem that is employed in this package is the reformulation of the polynomial problem as a vector-space problem. This results in a set of vector-space synthesis algorithms which are conveniently implemented in APL. The conventional polynomial operations of filter synthesis such as polynomial division, zero shifting, and removal of a known factor lead to interesting and challenging vector-space algorithms. These algorithms and their APL implementations are discussed. An advantage of this approach for APL implementations is that complex arithmetic can be avoided by selecting an appropriate basis for the vector space.
Implementation of an APL-driven laboratory interface
Authors: Edwards R. V. , Gertler J. , Mann J. A. , Kucera F. , Herndon S. , Gall T.
Published: January 2007

The Chemical Engineering Department at Case Western Reserve University has constructed an APL-driven, multi-unit hierarchial, microcomputer laboratory interface to connect real-time experiments to time-shared APL computers. The key aspect of the system is that it can be used and reconfigured by the relatively naive user totally in APL. The systems that we have built will be described, including the hardware structure, software and problems encountered. The theoretical background of the system will be outlined in appendix III.
Structured development of menu-driven application systems
Authors: Sigle John , Howland John E.
Published: January 2007

Presenting the user of an application system with a menu of choices is a valuable approach to the human interface problem. In a complex system this may take the form of a tree of menus that is presented. This tree of menus can also be used as the basis for a top-down development of the application system. This paper describes a programming system which can be used to acquire the tree of menus and structure the development of a menu-driven application system in a top-down fashion.

Objects called augmented menus contain not only the textual representation of the choices presented the user (in three forms), but also the action to be taken for each choice. A menu-manager program accesses the specified augmented menu, displays the choices and executes the selected action. This function eleminates much of the work of the application developer.

This development system is illustrated with three applications: an information storage and retrieval system, a class-roll record-keeping system and a text-editing system.