Experimental personalized array translator system
Theory
A system designed for intimate man-machine interaction in a general-purpose problem-solving environment is experimentally operational. The system utilizes an array-oriented symbolic source language containing powerful statement types. These include numeric, Boolean, relational and selection operators on operands which can be entire arrays. The system also permits simple specification of test and argument arrays in single statements.
The completely symbolic operating system includes display and entry of program and data. Sequence control is aided by an interrupt switch which allows the user to interact with the program during execution. In addition to normal stored program sequencing, the system provides trace options and the ability to enter any statement for immediate execution.
Present implementation of the system is with an interpretive translator on an IBM 1620 computer.
An automatic loader for subroutine nests
A method for automatic loading of library subroutines, which can be adapted to operate in conjunction with any conventional two-pass assembler is described. The method is specifically designed to cope with a nested library structure.
A note on starting the Newton-Raphson method
Determination of a suitable initial estimate for a root of an equation ƒ(x) = 0 by means of computing the roots of a sequence of related equations is described.
A fast procedure for generating exponential random variables
A very fast method for generating exponential random variables in a digital computer is outlined.
Expand, a system for input card replication
In an effort to reduce the volume of card handling at our installation, our operating system [1] was modified to include an EXPAND feature. The function of EXPAND is to eliminate the necessity of reproducing a card or a group of cards of the input dock to any particular job. Once a group of cards appears in an input deck, they may be caused to reappear subsequently by the inclusion of a single control card which calls for the “insertion” of cards by sequence numbers or letters. The user is permitted to specify minor modifications to the cards as they are being inserted. Hence, the user may easily run parameter studies, insert similar EQUIVALENCE, COMMON and DIMENSION statements in a multisubroutined FORTRAN program, or specify similar regions on a large mesh such as is needed for a thermal or nuclear study. Note also that when it is necessary to change a deck and rerun, it is only necessary to repunch the original card—every reappearance caused by EXPAND automatically reflects the new card.
A proposal for input-output conventions in ALGOL 60
The ALGOL 60 language as first defined made no explicit reference to input and output processes. Such processes appeared to be quite dependent on the computer used, and so it was difficult to obtain agreement on those matters. As time has passed, a great many ALGOL compilers have come into use, and each compiler has incorporated some input-output facilities. Experience has shown that such facilities can be introduced in a manner which is compatible and consistent with the ALGOL language, and which (more importantly) is almost completely machine-independent. However, the existing implementations have taken many different approaches to the subject, and this has hampered the interchange of programs between installations. The ACM ALGOL committee has carefully studied the various proposals in an attempt to define a set of conventions for doing input and output which would be suitable for use on most computers. The present report constitutes the recommendations of that committee.
On declaring arbitrarily coded alphabets
The inability of existing programming languages to handle character strings from more than one or two alphabets is mentioned and a scheme for declaring additional alphabets is proposed. The scheme provides for: many-to-one encodings, right or left justification, collating sequences different from numeric sequence, variations in character size (number of bits) from alphabet to alphabet, and arbitrary source-language character representation.
An improved equivalence algorithm
An algorithm for assigning storage on the basis of EQUIVALENCE, DIMENSION and COMMON declarations is presented. The algorithm is based on a tree structure, and has reduced computation time by 40 percent over a previously published algorithm by identifying all equivalence classes with one scan of the EQUIVALENCE declarations. The method is applicable in any problem in which it is necessary to identify equivalence classes, given the element pairs defining the equivalence relation.
Shape the Future of Computing
ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.
Get InvolvedCommunications of the ACM (CACM) is now a fully Open Access publication.
By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.
Learn More