THREADED LISTS(ID:3254/thr001)

List-processing language 


Perlis et al

List-processing language by Perlis et al at Carnegie

Places
People:
Related languages
THREADED LISTS => SLIP   Influence

References:
  • J C Shaw - Review of Perlis et al view details Extract: Review
    PERLIS, A. J.; AND THORNTON, CHARLES. Symbol manipulation by threaded lists. Comm. ACM 3, 4 (April 1960), 195-204.

    Perlis and Thornton describe a list processing language which serves as a cornerstone for building up hierarchies of programs defining quite complex symbol manipulating functions. An integrated set of examples is provided after the language is defined. Included are elementary functions, such as "copy a list," and deeper functions, such as "differentiate a rational function." The "threaded list" and corresponding primitive sequencing operations to exploit this structural feature distinguish this system from other one-way list processing languages. "The essential innovation of threaded lists is the addition of threads from the end of each sublist of a list, to the next word on the list. This allows a simple, efficient method of sequencing to be carried out on a list, which will arrive at each element of every sublist, without the use of the usual pushdown lists."

    The system was in a development stage at the time the paper was written. The program examples, therefore, have not benefited from machine testing. One should not enter lightly into attempting to follow them in detail. However, there is enough redundancy in the descriptive material to resolve most of the errors so that such an effort can be rewarding. J. C. Shaw, Santa Monica, Calif.

          in ACM Computing Reviews, January-December 1960 view details
  • Perlis, A. J. and Thornton, Charles "Symbol manipulation by threaded lists" view details
          in [ACM] CACM 3(04) April 1960 view details
  • Perlis, A. J. "Progress Report, Research and Development Programming Study Assignments." U.S. Army Signal Corps Contract No. Da36-039-sc-75081, Carnegie Institute of Technology February 22, 1961 view details
          in [ACM] CACM 3(04) April 1960 view details
  • Sammet, Jean E "1960 Tower of Babel" diagram on the front of CACM January 1961 view details

          in [ACM] CACM 4(01) (Jan 1961) view details
  • R. M. Shapiro "Computers, connector systems, and data descriptions" pp72-73 view details
          in Artificial languages view details
  • Sammet, Jean E., "Programming languages: history and future" view details
          in [ACM] CACM 15(06) (June 1972) view details
  • Watts S. Humphrey "MOBIDIC and Fieldata" pp146-147 view details Extract: Fieldata Programming
    Fieldata Programming

    During this entire period, internal rivalry was growing between the communications and computer people at Fort Monmouth. The communications faction was wedded to teletype and felt that computers were a temporary fad. They thus attempted to redirect any computer I/O funding for use on teletype equipment. While Luebbert managed both computer and communications R&D, he was able to control this to some degree. He did not have an entirely free hand on how the funds should be spent, however, or what programs would receive emphasis.

    Though he felt that more should be done both with I/O equipment and programming, he was unable to get enough funds for either more I/O development work or for programming. Bill chose to emphasize programming with the limited additional funds he was allowed (Luebbert 1985) a number of programming development; contracts were let to Sylvania for basic software which included an assembler, some mathematical routines, and a set of utility programs. Development of a COBOL compiler was started in 1959 (Sammet 1985; USASRDL undated), but Sylvania did this work on its own without army funding.

    The Signal Corps also supported work on the systems and programming concepts for the Fieldata family of computers at the Moore School of the University of Pennsylvania. The six task areas involved systems, human factors, data transmission, common languages, new devices, and codes. The common language effort, led by Saul Gorn, focused on the feasibility of standardized coding methods for families of computers (Sammet 1985; Gorn and Parker 1960). As part of this effort, the Automatic Code Translation System (ACT) addressed the problems of writing programs that could be compiled and executed on families of different computers (Holt and Turanski 1960a).

    A basic tenet of Fieldata was the need for any type of problem to be run on almost any one of the machines. The farsighted nature of the ACT work is best indicated by the statement in their  final report (Holt et al. 1960b): "that the overwhelming majority of  Army personnel concerned with these problems will not be computer programming experts . . . and that the efficiency of the entire Fieldata system hinges primarily on the speed of problem solution -- i.e., the total "lapsed time" from problem statement till solution delivery."  

    The people who worked primarily on ACT were Anatol W. Holt, William J. Turanski, and E. J. Parker and they envisioned a system of three parts. The first was an allocation interpreter that coordinated a family of small stored subprograms. The second was a library of basic translation functions, and the third was a general translation library with content that varied depending on the application.

    Various other results of this University of Pennsylvania work were the development of techniques for detailed two-dimensional microflowcharting of machine instructions, significant theoretical work on formal languages by Gorn, exploration of optimizing techniques for information retrieval using list processing, and human factors studies of computer console design.

    The Signal Corps contract at the Carnegie Institute of Technology was under the leadership of Alan Perlis (Perks 1961). It concentrated on the general area of programming languages and translators and produced, for example, the concept of the threaded list.

          in Annals of the History of Computing, Spring 1987 view details