| Abstracts from APL97 International Conference on APL Share Knowledge/Share Success August 17-20, 1997 in Toronto Canada |
SHARP APL Mainframe and the TCP/IP Revolutionby Dave Mitchell (Xerox) Sharp APL at Xerox has always been network driven. At Xerox, TCP/IP has brought APL from IPSANET, RJE, TYMNET and SNA into the world of Internet and the Web. Terminal access, file transfer, mail exchange, network printing, Web serving and direct application to application support are some of the sucessful accesses being done daily. Methodologies, experiences, pitfalls and plans will be presented. Creating Embedded Applications with the NIAL Toolsby Mike Jenkins (NIAL Systems) The Nial Tools consist of several compatible versions of the Q'Nial interpreter organized to support the rapid development and deployment of data-intensive applications. The tools are: Q'Nial, the interactive interpreter for Nial used for program development; the Nial Data Engine, a package for activating Nial applications from other software; RunNial a runtime version of the interpreter invoked from the command line; and CGI-Nial a version of the interpreter to support Web applications. The talk will describe how the Nial Tools have been used by various clients to create applications that interface with other software. Data Transfer between Java Applets and Legacy APL Applicationsby Bruce Amos, Gavin Disney, Duane Sorrey (Reuters) The rise of Internet technologies (particularly Java) provides many benefits for the development and deployment of user interfaces. In many cases, however, the back end system is behind the times: Internet hostile, no object orientation, etc. How can data be transferred between the new generation front end and the old generation back end without compromising the strengths or integrity of either? This paper will discuss the use of customized Java data serialization to achieve this goal against a large IBM MVS Sharp APL system. APL IDE: A Windows Interface to Mainframe APL Systemsby Dennis Paproski (Reuters) When I joined I.P. Sharp in 1988 there were two interfaces to the Sharp APL mainframe:
The goal of the APL IDE project is to provide the Sharp APL programmer at Reuters with a new interface to the mainframe that will improve productivity. This will be acheived through:
The APL IDE will be mostly written in Dyalog APL for Windows with some functions written in Microsoft Visual C++ available through a DLL. The development of the IDE will also provide additional benefits beyond improving programmer productivity: 1) We can add additional functionality through further upgrades ie. sockets connections. 2) We can expand the usability to other platforms ie. Windows NT or Unix. Computer Construction of Weaving Designsby Keith Smillie (Univ. of Alberta) J algoritnms are developed for deriving the weave of a piece of cloth from the instructions for setting up a loom, for the converse operation of deriving the setup instructions from the weave, and for introducing colour into the weave. About Recurrent Calculations in APLby Andrei Buzin (RusAPL) It is known, that APL gives the possibility to think global, in terms of arrays. It has the powerful incorporated means of processing arrays as a whole. Unfortunately, not all problems of array processing can be solved elegantly by APL. The APL is oriented on regular array processing, which means that all elements are processed similary. However from time to time the researcher who uses arrays often, requires singular or recurrent array processing, in which the algorithm of single element processing depends either on this element itself or on the other elements of array. As examples of singular processing we can mention calculating of logarithm of numerical vector or the derivation of piecewise-smooth function in points among which there are the points of nondifferentiability. It is quite obvious, that the points, where the function or operator is not defined, must be excluded from the processing. APL does not make this, nor informs which element can't be processed: To obtain such a result we must use cycle, but cycle in any interpreter works very slowly. It would be fine if this cycle was programmed as the immanent part of the language, as in the case of reduction, scan or each operator. In this article we shall discuss the other type of irregular array processing, namely, the recurrent calculating of the elements of array. TimeSquare Tables - A New Data Typeby Doug Forkes (Soliton Associates) While developing the TimeSquare project, we found it quite useful to define a special datatype, and a set of functions to act upon it. The new datatype is somewhat analogous to an SQL table, so we call it a table. A table can be thought of as essentially two-dimensional, with a finite number of ordered rows, and an infinite number of identified but unordered columns. The identifier of a column of a table may be any apl object. Each element of a table may be any APL object, or may be null. This paper will describe a set of APL functions to manipulate such tables, and provide some examples. Global Limits Control System at Deutsche Bankby Michael Kornacker (Deutsche Bank AG) GLCS global limits control system is a part of risk managment in the business with financial institutions counterparty and country risk monitoring in the trading products mm, fra, fx, spot, fx forward and commercial paper; history, present, future. Interactive Design of Structures - A Program for Everyoneby J. Riebenbauer & J. Hoffmann We will present Intraplan V2 - a graphical DyalogAPL/W application for the design and analysis of planar member frame structures. We will demonstrate how to input and optimize a load bearing structure using the complete visual and intuitive GUI of Intraplan. We will also talk about the program development history, e.g. about our experiences we made during the migration from APL*PLUS II to DyalogAPL/W, with it's object oriented Windows interface and namespaces. A Concise APL Function View of a Constructive Algorithm for Neural Networks that Generalizeby Alvin Surkan (Univ. of Nebraska-Lincoln) APL functions are provided as descriptions of constructive algorithms for optimizing the synthesis of neural networks while improving their generalization capabilities. Programs of these algorithms construct networks of binary weights for classifying or partitioning sets of arbitrarily-high dimensional binary patterns in the closer of two classes. The study of constructive algorithms for identifying such networks is of direct interest to designers who build array processing hardware classifiers from fast two-level digital circuits. Provided is an APL exposition of a constructive algorithm for synthesizing minimal neural networks. One of our objectives is to introduce creative APL users to this emerging application area and the language's potential for describing array-based software and hardware. This constructive method incorporates a minimum overlap pattern separation and a target switching algorithm. Prototypes of constructive algorithms implemented with typical , scalar-based procedural languages typci ally require hundreds of statements. Array based formulations with functional style programming languages like APL and J require a few short functions. J vs. Mathematicaby Murray Eisenberg (Univ. of Massachusetts-Amherst) APL and J have had limited success in penetrating mathematics education, especially at the college level. By contrast, in recent years Mathematica has received increasingly wide acceptance. Why? How do J (as a representative of the APL family of dialects) and Mathematica stack up against one another -- as tools for getting answers; as programming languages; and as tools of thought? These are among the questions to be addressed by the presenter, who has taught linear algebra for many years using APL or J and, most recently, using Mathematica. Nested Array Internals and Efficiencyby Roy Sykes (Sykes Systems) The advent of nested arrays has given APL users an even richer repertoire of ways to store and manipulate data, especially for small or ad hoc problems. But heavy usage of large datasets still demands efficient processing. By examining the internal architecture and implementation of APL, we can evaluate different storage strategies to predict their efficiency. This talk will uncover these hidden aspects of APL and use several examples to illuminate our findings. APL and Nested Arrays - A Dream for Statistical Computation!by Alan Sykes (Univ. of Wales) & T. Stroud (Queen’s Univ.) Many papers have been produced in the last 10 or more years extolling the virtues of APL for statistical computing. Such papers have stressed APL's array-handling operations, the use of user-defined operators, and the often transparent flow from mathematical notation to APL's equivalent computational notation. The use of nested arrays figures relatively little in this. (Of course, the current Windows-oriented computing medium means that a function's argument may well be, often is, a long nested array!) This paper demonstrates why APL with nested numeric arrays is just what the statistician needs in order to deal with missing data in a sample survey analysis. One technique of dealing with missing values is that of multiple imputation in which each missing value is replaced by a set of between five and ten 'typical values'. APL with nested arrays provides just the right medium for the efficient storage of the resultant database. Moreover, because array operations on nested arrays employ scalar extension, the paper shows that typical statistical functions, such as the calculation of means, standard deviations, regression estimates, can be programmed, often with little or no change, so that they will operate on the nested database to provide multiple answers ( each answer corresponding to one of the chosen typical values representing the missing values). The multiple answers can then be used to give answers required that truly reflect the variability induced by the missing data. The statistical knowledge required to appreciate the content of the paper is minimal - the beauty of APL in the service of Statistics is considerable! Object Oriented Spatial Positioning Systemsby Erik Papp & István Kádár (University of Budapest) István Kádár
The Object-Oriented Location Systems consider every geographic object, layer, overlay et cetera such kind of homogeneous raster set where orbitrary linear ordering can be defined over its elements. Hereby possible to create a subrange type data structure from "serial numbers" of the raster elements. Those latter will call "the rank of point" (0* rank We present in our paper the solution of that task which arise in case of the dynamic restructuring of the same geographic event space. Naturally under such circumstances the rank of a point will be changing but remaines invariable of the location of one inside of the virtual "Euclidean background geometry". This identity of the location the virtual coordinates can be ensure. We chose the so-called Burton mapsheet pair for illustration what we has got to say (The Computer Journal, London, Vol. 30, No. 4, 1987 pp. 355.) which demonstrate the partition of identical mapsheet according to two alternative. The J program language based on APL array arithmetics proved to be an efficient tool for the transformation the rank of identical points between of two different kinds of structures. Both the "ranking" and the "unranking" procedure require only half line size program. independently from complexity of real structure or the size of geographic object. The data structure itself the suitable combination of the
three following arrays:
By the way the solution of task - thanks to advantageous attribute of array arithmetic - dimensionless, namely not only in plane and in space but it can be use - for example - in spatial temporal four dimension GIS systems also without any modification.
Evolution of CoSyby Bob Armstrong (Coherent Systems) CoSy is the NoteComputing environment I have evolved with since meeting APL in the mid `70s for general support in the business of life. Current CoSy was constructed in old STSC flat PC-APL in 1984 as an open-source hypertext browser of its own objects -- altho that vocabuary was not yet in use. The target now is to rip the organs of Window95 (OLEs) open into a coherent linguistic structure down to the hardware - creating an environment providing the user/programmer complete control over their notebook computer. The practical next step is to integrate CoSy with a competitive APL language community and all the algorithms its members are interested in sharing. War on the Workspace - a Databased Commercial Applicationby Ed Shaw (APL Group) How do you properly support thousands of dispersed users of a PC application without losing control and yet provide timely and apparently customized features? How do you continue to maintain and enhance a commercial application over a period of many years, including a conversion from DOS to Windows and the inevitable changes in personnel without falling off a cliff? There are probably as many answers as there are developers to this question. The APL Group has chosen to ignore the workspace and to store all control data functions in a highly structured manner in its proprietary database written in APL. It has also adopted a number of procedures and controls which have allowed it to continue to succeed over 14 years with a continually evolving product. The techniques adopted will be described with the hope that some of them may be of use to others and also that they may stimulate a discussion of alternatives for the mutual benefit of all who attend. J Phrases for Statistics at a Glanceby Giitiro Suzuki (Institute of Statistical Mathematics) In my talk, many functions for statistical data analysis, are presented. These functions are mainly written by tacit definitions. Then, these are convenient as a J primer. Main contents are as follows :
J Installed String Manipulations Applied to English-Esperanto Machine Translationby Toshio Nishikawa (Institute of Statistical Mathematics) Toshio Nishikawa
J has been widely used to mathematical computations, however, less often used to string manipulations such as machine translation. The author developed a small machine translation system using APL, and tested its adaptability through English-Esperanto and Japanese-Chinese translations. In growing popularity of J, we made a plan to convert the system using J. First, we thought it could be easily converted in code-by-code, however, realized to be impossible in such a simple way. Therefore, we must rebuild it as almost new version, and for the time being, start from making several function tools for manipulating character strings, although we aim to machine translation. We adopt English-Esperanto as a pair of translation, because of simplicity and regularity. Thanks to powerfulness of J, especially 'box' and 'each' codings, we can expect compact translation system. |

Last Update: January 30, 2007
For questions, problems, or comments regarding this website, please send
email to:infodir_sigapl@acm.org