bluuebunny/crossref_metadata_2025_split huggingface dataset:
Programming in J/Windows
Authors: Burke Chris 
Published: January 2007

J has been available as shareware for the last four years. The core language has been largely complete from outset, but it is only comparatively recently that the implementation (at least for the PC) has included features needed for serious application development.
The most significant change was the introduction of Windows support in release 6, which for the first time allowed full screen applications to be written in J. Following the release of 6.2, which included many additions to the Windows support and a much better session manager, I started using the Windows version of J in small applications, for which I would normally have used APL. Since then I have switched over to using J for almost all development, except for client work where APL is specifically required. I believe that J is already comparable to commercial APL's for application development and will soon be superior.
In this paper, I will describe programming the J/Windows interface, and discuss some practical considerations in using it.
APL and economic education
Authors: Buzin Andrew Yu. 
Published: January 2007

The experience of teaching economics with computers is discussed. Using APL and GRAN provides for very interactive graphical interpretation of classical economic models. The static Leontieff's model, the business cycle model and the macro equilibrium model are considered as examples.
Two approaches to the teaching of economics with computers are proposed. The first is the simultaneous teaching of APL and economics. APL permits the very fast and concise coding of the models (the comparison is made with Kuboniwa's book) and their interactive exploration. The second approach represents a dialog between the computer and the students as well as the animation of illustrations of classical economic courses.
APL for statistical research of atmospheric flows during the dust storm
Authors: Mukanova Aibarsha A. 
Published: January 2007

The existence of the Aral Sea depends almost completely on the waters of the Amudarya and Syrdarya rivers, so that a considerable decrease in the flow in the drainage-basin of these rivers results in a lower sea level. As a result huge areas of sea bottom are now revealed, mainly on the eastern sea coast. A significant part of this area is comprised of deposits of a loose mechanical composition, mainly from dust, which is exposed to intensive weathering.
Although dust storms in the Aral Sea zone occurred before, the appearance of a new powerful source for salt and dust transport evokes well founded anxiety. This source appeared in a satellite photo in 1975, and the decoded data showed the transportation of salt-dust masses reaching the south and west sea coast. Later investigations show that this source area has a tendency to increase with the formation of a huge zone of moving dust. There is also the problem of the desertification of the Aral east coast.
In the world the study of dust aerosol qualities has received great attention, because the deserts which occupy more than 30% of the land area are the main source of dust aerosol. Special attention is given to experimental and theoretical investigations of desert aerosol transport problems for the quantitative description of the wind driven transfer of dust from source to precipitation area.
Discrete-event simulation and the event horizon
Authors: Steinman Jeff S. 
Published: January 2007

The event horizon is a very important concept that is useful for both parallel and sequential discrete-event simulations. By exploiting the event horizon, parallel simulations can process events in a manner that is risk-free (i.e., no antimessages) in adaptable “breathing” time cycles with variable time widths. Additionally, exploiting the event horizon can greatly reduce the event list management overhead that is common to virtually all discrete-event simulations.
This paper develops an analytic model describing the event horizon from first principles using equilibrium considerations and the hold model (where each event, when consumed, generates a single new event with future-time statistics described by a known probability function). Exponential and Beta-density functions are used to verify the mathematics presented in this paper.
Infinity arithmetic, comparisons and J
Authors: Davies Harvey 
Published: January 2007

The principles of
infinity arithmetic
are explained. There is a need to bring J arithmetic and comparisons into line with these principles. Many of the results produced by J are mathematically anomalous and do not comply with the IEEE 754 Standard for floating-point arithmetic.

Some proposals to generalise the concept of comparison tolerance are presented. There are also some tentative proposals regarding safety levels and precision.
The paper is oriented towards J but many of the concepts are relevant to all dialects of APL.
The philosophy of nothing and everything
Authors: Holmes Neville , Hallam Colin 
Published: January 2007

Perhaps inspired by the IEEE floating point arithmetic standard's introduction of a representation for aberrant numbers, such as the reciprocal of zero, the J interpreter overtly deals with infinites and indeterminacies.
This step got rid of some domain error messages, but brought in a few new difficulties, and exposed inconsistencies in the behaviour of elementary arithmetic functions presumably as delivered by the C compilers used for the J interpreters.
This paper proposes notation that would allow the J interpreter better to deal with failures of arithmetic. The discussion should assist development of arithmetic for other interpreters and compilers.
The role of composition in computer programming
Authors: McIntyre Donald B. 
Published: January 2007

Iverson has greatly enlarged the mathematical notion of function composition and made it available to computer programmers. This paper explains the concept, and uses practical examples to show how concise, powerful programs can be written and read. Alternative forms are given, and ways of overcoming initial difficulties are explained.
The systematic use of composition extends the well-known advantages of APL; namely conciseness, consistency, and generality.
Namespaces
Authors: Swain Rexford H. 
Published: January 2007

This paper describes and contrasts the implementation of namespaces in two popular combinations of APL dialects and platforms: IBM's APL2 (version 2, release 2) running under VM/CMS, and Dyadic's Dyalog APL/W (version 7.0) running under Microsoft Windows.
In a traditional APL workspace, localization is the only mechanism available to isolate identifier names and values, and it is extremely potent. While a function that localizes a given name is executing, it is impossible to reference any other definition of the same name.
Namespaces are a significant addition to an APL system. They provide a way to “package” a collection of objects (variables, defined functions, etc.), and insulate them from the traditional workspace. A namespace co-exists with the workspace, yet its object names and definitions are completely independent of the workspace. Namespaces can help to organize and hide complexity in workspaces, avoid name conflicts, and share code among applications.
IBM has offered namespaces in APL2 since 1987, whereas Dyadic just recently introduced their facility. Both implementations provide encapsulation and name isolation within a workspace. But they use quite different methods to access objects in a namespace and store their initial definitions. The merits of each approach are discussed. An example is provided to illustrate how namespaces may be used to simplify the implementation and improve the functionality of workspace and function analysis tools.
The treatment of state in optimistic systems
Authors: Bruce David 
Published: January 2007

Optimistic computation methods typically save copies of objects' state information, so that they can recover from erroneous “over-optimistic” computations. Such state saving is generally time and space consuming, and can be rather complicated both to implement and to use.
I show how the data structure community's theory of persistence can be used not only to analyse and explain the treatment of state in optimistic systems, but also as a simple yet general mechanism for performing the necessary state saving with minimal impact on application code.
Preliminary results based on a benchmark application and an existing optimistic simulator are presented, showing that providing support for fully general object states is a realistic and practical option. In addition, I show how some existing state saving techniques—including support for shared state—can be derived, and discuss a number of ways in which the model might be extended.
Global Virtual Time and distributed synchronization
Authors: Steinman Jeffrey S. , Lee Craig A. , Wilson Linda F. , Nicol David M. 
Published: January 2007

Global Virtual Time (GVT) is the fundamental synchronization concept in optimistic simulations. It is defined as the earliest time tag within the set of unprocessed pending events in distributed simulation. A number of techniques for determining GVT have been proposed in recent years, each having their own intrinsic properties. However, most of these techniques either focus on specific types of simulation problems or assume specific hardware support. This paper specifically addresses the GVT problem in the context of the following area
A new GVT algorithm, called SPEEDES GVT, has been developed in the Synchronous Parallel Environment for Emulation and Discrete-Event Simulation (SPEEDES) framework. The new algorithm runs periodically but does not disrupt event processing. It provides flow control by processing events risk-free while flushing out messages during the GVT computation. SPEEDES GVT is built from a set of global reduction operations that are easily implementable on any hardware system.
Development of a portable software product for library automation
Authors: Barnaud A. M. , Le Borgne Y. , Mailhol B. 
Published: January 2007

This paper will demonstrate APL at work in the development of a major industrial software product designed for public library management.
LIBRA was designed and developed to run on various computers under both VM/CMS and UNIX.
Advanced software engineering methods were employed to facilitate short development time of a quality product. As a result, tight control over the future development and maintenance of the package was assured.
IOTA3: the integration of Lotus spreadsheets and APL
Authors: Searle John R. 
Published: January 2007

A software system named IOTA3 is described which represents an integration of the popular Lotus Corporation spreadsheets (1-2-3 and Symphony) and the language APL. IOTA3 allows the spreadsheet user to extend the worksheet environment to include many of the features of the APL environment. Conversely, it allows the APL user to think of the spreadsheet as an extension of the workspace.
The paper describes the various levels at which integration may be achieved, the costs and benefits of doing so, and the problems that were encountered and/or solved along the way. The system is based on the IBM Personal Computer and has been written for a number of APL implementations.
Extending worksheet modelling software with expert system technology
Authors: Sullivan Gerald A. , Fordyce Kenneth J. 
Published: January 2007

As a result of the rapid changes in the “information processing technology”, existing programming languages like APL are facing a number of challenges to maintain or increase “market share”. Such technologies as networks, worksheets, expert or knowledge based systems, host / workstation shared processing, software quality, and end user computing are of concern to the consumer of programming languages. It is the contention of these authors and others that APL already contains many features to meet new needs (for example, tracing the execution of a function or networking users on a single mainframe), or can easily and elegantly be extended to meet new needs (for example, invoking assembler from APL or a host - workstation link). This paper describes a tool called Automated Ledger Book (ALB). ALB uses expert system technology to extend worksheet modeling software function and therefore enhance end user computing. The purpose of this description is to help demonstrate the applicability of APL to such new areas as expert systems, and help the APL community better understand the links between expert systems and decision support systems.
ALB is a worksheet model generator with some enhancement based on an equation manipulating expert system and a natural language interface built by the authors in APL/APL2. ALB enables the user to build and run worksheet type models in high school algebraic notation and English without regard to equation order or specification of calculated and input variables. Solving sets of algebraic and conditional equations, ALB adjusts itself to input, responding to unlimited 'what ifs'. When challenged, ALB provides the rationale for its conclusions.
Topics for a second course in APL
Authors: Jaffe Stephen B. 
Published: January 2007

After students complete the introductory APL course, after they become comfortable with the concepts and after they use it regularly in their work, then the problem of enhancing skills must be addressed. This paper presents a syllabus of three lectures which comprise part of a second course in APL.
The purpose of Lecture I, MULTIDIMENSIONAL ARRAYS MADE EASY, is to help students deal with data stored in higher rank arrays. The idea of formulating such arrays frequently occurs naturally to users but they are reluctant to proceed because of the difficulty visualizing the arrangement. Six rules are presented to ease the way.
Lecture II, SPECIAL USES OF THE GRADE AND SCAN, alerts students to approaches and techniques which would not typically occur to them. Interesting applications of the scan operator yield utilities which produce expansion vectors and indexing vectors based on field lengths. The grade and double grade form the core of other utilities to merge data and to affect table lookup.
BUILDING BETTER USER/COMPUTER INTERFACES, Lecture III, is designed to facilitate delivering “closed” versions of “open” systems. Topics include a standard PROMPT utility, techniques in error trapping and a MENUDRIVEN MENUDRIVER.
Open fullscreen systems
Authors: Gfeller Martin , Stengl Monika 
Published: January 2007

A general scheme is given for designing APL systems which are both open and fullscreen oriented. Such systems guide the user by presenting her visually the data she is working with, but do not restrict her from using APL to accomplish a task. The system is extensible and modeless in the sense that any commands can be entered at any time during the work with the system. Syntactic abbreviations yield a command language which is easy to learn for users not familiar with APL, but is just APL for those who know it.
Finally, some design considerations and requirements are given for screen driver tools which can be used to implement such systems.
APL: A prototyping language
Authors: Bernecky Robert 
Published: January 2007

The use of APL as a language for system design and prototyping is discussed. Benefits of APL over traditional design techniques are shown to include higher productivity, improved code reliability, superior maintainability and performance, and executable documentation.
Hierarchical and hybrid approaches to modelling systems of various degrees of complexity are presented, with examples chosen from the author's experience.
Generalised arrays and shortest path problems
Authors: Sandi Claudio 
Published: January 2007

Real world problems are often formulated as flow optimization problems on large networks, with thousands of nodes but with a restricted number of arcs. The average number of arcs having a given node as origin or terminal node (node degree) may be limited even to a few units. Standard optimization methods, mainly matrix methods for complete or strongly connected graphs, may become unpractical; recent results have shown the superiority of advanced methods based on suitable data structures.
In this study the classical shortest path problem, one of the basic techniques in network flow optimization, is approached, in APL environment, using: i) standard matrix methods, ii) methods that handle irregular structures element by element, and iii) advanced methods using generalized arrays. Preliminary results indicate which approach should be preferred, according to problem characteristics and size.
Socio-tech: what is it (and why should we care)?
Authors: Pew R. , Assunto K. , Baker W. , Dray S. , Taylor J. 
Published: January 2007

At a time when more and different people are using more and different computer systems, there is growing awareness that if technology is to give companies the “competitive edge” they are seeking, it must be used to support business goals. This means that systems must work within the existing organization to improve and extend its functioning. This also means that the design of these systems must enhance the organization, not disrupt it. Yet technology is, by its very nature, a stimulus for change. The question then becomes: How can this intrinsically de-stabilizing technology be designed and implemented in a way which supports the organization, without destroying it? It is the purpose of this panel to explore this basic question.
Sociotechnical systems theory is a method to deal with this dilemma. At its core is the assumption that to be successful, technology must be designed in tandem with the receiving organization. So-called socio-tech focuses on how the organization can use technology, in an attempt to establish a “best fit” between the technical and the social aspects of the workplace. This is in contrast both to “old style” systems design, which concentrates on technical aspects only and to the “traditional” Human Factors approach, which considers how to design for “typical” users and how they think and perceive. (Some people have dubbed this new approach “Macroergonomics” as a way of distinguishing it from this more traditional Human Factors approach.)
Speech recognition enhancement by lip information
Authors: Nishida S. 
Published: January 2007

Though technology in speech recognition has progressed recently, Automatic Speech Recognition (ASR) is vulnerable to noise. Lip-information is thought to be useful for speech recognition in noisy situations, such as in a factory or in a car.
This paper describes speech recognition enhancement by lip-information. Two types of usage are dealt with. One is the detection of start and stop of speech from lip-information. This is the simplest usage of lip-information. The other is lip-pattern recognition, and it is used for speech recognition together with sound information. The algorithms for both usages are proposed, and the experimental system shows they work well. The algorithms proposed here are composed of simple image-processing. Future progress in image-processing will make it possible to realize them in real-time.
The APL 90 project
Authors: Girardot Jean-Jacques 
Published: January 2007

This paper presents some aspects of a new implementation of APL, the APL 90 system.
This implementation includes concepts inherited from LISP, such as the notion of property lists, or the ability to manipulate simply the internal representation of user defined functions or operators. These two features allow a great flexibility both in describing the system and using it.
The work presented here is being implemented under UNIX on a SM 90 computer.
APL and robotics
Authors: Euredjian A. Martin 
Published: January 2007

Program execution speeds on today's general purpose APL running computers do not allow APL to be used as a Robot control language, this execution speed problem will go away with faster and better processors.
This paper presents an attempt to make APL work for Robotics with today's technology. The basic concept is quite simple: Leave to APL what it can do in real time and have another computer running a faster language do the rest. This allows for APL program development until the other computer with the faster language can be replaced with a very fast APL running system.
The auxiliary computer is an eighth processor parallel computer running FORTH.

Except for the IBM-PC used to run STSC corporation's APL
*
PLUS/PC SYSTEM all of the hardware for this project has been designed and built by the author from the ground up.
Operators for program control
Authors: Eusebi Edward V. 
Published: January 2007

Structured programming constructs such as if-then-else and do-while have traditionally been used to give a natural flow to programs written in one of the ALGOL-like languages. Languages with a functional basis, such as APL and LISP, provide (and are characterized by) alternative means of controlling the flow of expression. These include function modularity, the application of functions across data structures, the use of data structures to control program flow, and the mapping of operations across data and across other operations.
In APL2, the use of these methods has been enhanced by the generalization of APL data structures, the addition of the primitive operator Each(″), and the ability to define operators. This paper will examine ways in which these features may be used to give a non-procedural look to APL2 functions.
Operators for recursion
Authors: Eusebi Edward V. 
Published: January 2007

Recursion is frequently used in functional programming languages. In LISP, it is the primary means of traversing data structures, and, along with COND, is instrumental in controlling program flow. In APL2, the generalization of arrays to include arrays of arrays encourages the use of recursion. This usage is enhanced by the generalization of, and extensions to, operators. In particular, the ability to define operators allows us to create operators which simplify the coding of recursive logic.
This paper studies the use of operators to provide program control for solutions to problems which involve recursion. For the most part, iteration on the elements of a list is used to replace recursive function calls.
The program control methods used in this paper are introduced in a companion paper, Operators for Program Control (Eusebi[3]). The reader is encouraged to read that paper first.