March 1963 - Vol. 6 No. 3
Features
Documentation problems: ALGOL 60
In presenting the following notes I wish to make it clear that they express only my private views. Thus although these views naturally have been greatly influenced by the experience I have gained through my participation in the international ALGOL effort they do not represent the agreed opinion of any group and I alone should be held responsible for any misrepresentations.
The documentation of COMIT reflects the conviction that adequate user manuals are as much a part of a successful problem-oriented language system as is the compiler itself. Without adequate manuals, a language could not be easily learned or used, and much of the convenience that is implicit in the idea of a problem-oriented language would be lost. The COMIT manuals are thus as user-oriented as the language itself.
“The FORTRAN language is intended to be capable of expressing any problem of numerical computation. In particular, it deals easily with problems containing large sets of formulae and many variables, and it permits any variable to have up to three independent subscripts. However, for problems in which machine words have a logical rather than a numerical meaning it is less satisfactory, and it may fail entirely to express some such problems. Nevertheless, many logical operations not directly expressable in the FORTRAN language can be obtained by making use of provisions for incorporating library routines.” This quotation is taken from “The FORTRAN Automatic Coding System for the IBM 704 EDPM,” dated October 15, 1956. This first manual was a programmer's reference manual issued by the Programming Research Department of IBM. The original system and the original manual were the work of J. W. Backus, R. J. Beeber, S. Best, R. Goldberg, H. L. Herrick, R. A. Hughes (U.C.R.L., Livermore), L. B. Mitchell, R. A. Nelson, R. Nutt (United Aircraft), D. Sayre, P. B. Sheridan, H. Stern, and I. Ziller; all were associated with IBM except as noted.
IPL-V (Information Processing Language-V) is a programming language for list processing and symbol manipulation. It is the fifth of a series of programming languages that has developed as part of a research effort in artificial intelligence and simulation of cognitive processes. This research started in late 1954 at The RAND Corporation and Carnegie Institute of Technology and has remained centered there, so that these two organizations, or more properly the scientists thereof, can be considered the source of the language. The earlier IPL's were coded for the RAND JOHNNIAC, a unique machine of the Princeton class; IPL-V is the only one which has become a “public” language and where the necessary effort has been made to document and standardize the language.
Addressing an array Yi in k-dimensions by Fortran for analysis of variance
In analysis of variance and covariance of data in factorial designs, multidimensional arrays are the rule rather than the exception. The 1620 FORTRAN language is severely limited in its DIMENSION statements in that subscripting may be done for a maximum of only three dimensions. In the technique described, a one-dimensional ordered array may be entered into storage and without additional identification treated as multidimensional. The conceptual technique illustrated below for summation may be expanded to handle any number of factors and is limited only by the storage capacity of the computer.
A variant method of file searching
Trapping an instruction which cannot normally be trapped can be worthwhile, particularly when an existing program is to be revised. However, under those circumstances one would desire to replace instructions on a one-for-one basis.
The following is an account of current documentation on the NELIAC Language.
Certifications of algorithms 117 and 118 magic square (odd and even orders)2
The proof of the non-existence of a phrase structure grammar for ALGOL 60 by Robert W. Floyd [Comm. ACM 5 (Sept. 1962)] depends on the assumption that a syntactically correct ALGOL program must be a block. The concept of “program” is defined ambiguously in the ALGOL Report, as pointed out by Naur [1], but it is generally accepted that a program is defined as a self-contained statement. If this definition is taken, Floyd's proof becomes incomplete in that it ignores the fact that the following are syntactically correct ALGOL programs:
begin; end
begin end
&lpargt;dummy statement⦔
A computational extension of the variate difference method
Presented here is a computational extension of the variate difference method as developed by G. Tintner [1].
An interative factorization techniques for polynomials
An iterative technique is displayed whereby factors of arbitrary degree can be found for polynomials in one variable. Convergence is shown to occur always if a certain Jacobian does not vanish and if the initial approximation to a factor is near enough to an actual factor. The process is simply programmed, and preliminary results indicate it to be well adapted to use with digital computers. For factors of degree two, the technique is similar to that of Bairstow, the present method being somewhat simpler.
Significance arithmetic on a digital computer
The 7090 at NYU has been modified to include a “Significance Mode” of operation which is intended to facilitate the identification of significant bits in the results of floating-point arithmetic operations. The manner in which floating-point arithmetic is handled in this mode is discussed. Several numerical experiments using this mode are described and comparisons are made with the ordinary “normalized mode.” Examples include power series evaluation, linear equations solution, determinant evaluation and matrix inversion.
RECOL—a retrieval command language
An interrogation scheme is described for the retrieval and manipulation of data file records. The language of the interrogation scheme allows for selecting file records with the use of logical condition statements, defining record classes, associating file records, editing printed output, and summarizing the results of the above operations. Some examples of a typical file application and the more significant features of a particular machine implementation are given.
Everyman’s information retrieval system
The information retrieval problem whose solution is presented here was posed by a technical library with limited budget and personnel. The solution, however, is quite general and is applicable to many different types of retrieval problems. Further, the method of solution makes it possible for many groups who have previously dismissed an information retrieval program s expensive and difficult (from a programming standpoint) to reconsider their position, for the present solution makes it possible to install an information retrieval program in less than three months, and with relatively little equipment.