March 1961 - Vol. 4 No. 3
Features
Computer languages for heuristic processes
The applicability of computers to many problem-solving situations—chess playing, mathematical proofs, music composition, etc.—has been demonstrated. We wish to explore further heuristic processes suggested by human problem-solving activity. One step toward this goal has been the design of a system named ROVER. ROVER refers both to the simulated computer and the information processing language it uses.
Universal computer-oriented language
The basic idea of UNCOL Universal Computer-Oriented Language—is to introduce a language between problem-oriented languages, POLs, and machine languages, MLs. This third level consists of a single language, UNCOL, which has the character of a generalized machine-line language.
SDC is currently engaged in producing a “JOVIAL” compiler for each of its computers. The compilers are being produced by a bootstrapping method similar to that described in a report on UNCOL [1]. In discussing the steps involved, we resorted to diagrams to clear up the confusion that arose when trying to describe, for example, how a JOVIAL generator for the IBM 709 could produce a JOVIAL translator to the Philco S-2000 that would run on the 709 and then use the resulting 709 - S-2000 translator to produce a JOVIAL translator to the S-2000 that would run on the S-2000.
Comparison of iterative methods for the calculation of nth roots
Three iterative methods for calculation of nth roots (including one proposed by the author) are compared in two ways: (1) Theoretical convergence estimates are given. (2) A new macro-compiler which estimates machine running time is used to compare the running time of the three methods for a variety of input data.
Recent contributions on the subject of counting the ones or reversing the digits of a binary word have prompted some rather more general observations on bitwise operations which treat each binary digit in a computer word as a separate entity.