LYaPAS(ID:430/lya001)

Symbolic extensions to APL 


(Russian acronym for "Logical Language for the Representation of Synthesis Algorithms").

Laboratory of System Programming and Logical Synthesis, Byelorussia  Arkady D.Zakrevskij  

Extensions to APL for non-numeric programming for the URAL-1 computer. Coded in octal!

Obiter Dicter: anyone who sees this language has to admire it for its beauty. It is a symbolic extension of APL, to deal with non-mathematical problems.


Related languages
APL => LYaPAS   Positive strong Influence
LYaPAS => Lyapas-M   Evolution of

References:
  • Zakrevskij A.D. "LYaPAS: a Language for the Representation of Synthesis Algorithms" view details
          in Proceedings of the Scientific Seminar on the Theoretical and Applied Problems of Cybernetics, Kiev 1964 view details
  • Tovshceyn, M.Ya. "PP-LYaPAS-1, A translator for the first level of LYAPAS" pp34-58 view details Abstract: PP-Lyapas-1 is intended for the translation of programs from the first level of Lyapas to the language of a 45-bit medium-speed computer. Its small size (about 1,000 words) and high speed (1-2 seconds for the translation of a program of 100 Lyapas symbols) are noted. It is assumed that the translated programs are coded numerically  according to the rules given in the author's article (abstracted above). The  operating algorithms of PP are described in Lyapas, somewhat modified and extended for this purpose. A detailed flowchart of PP is given. Two stages of translation are defined: (1) analysis of the initial program with concurrent composition of various tables, and (2) the synthesis of the working program from information accumulated in the tables. The algorithms of the basic blocks of both stages of translation are described in detail.

          in Transactions of the Siberian Technical Institute for Physics, Tomsk University, no. 248 1966 view details
  • Tovshteyn, M.Ya. "Representation of Input Information to PP-LYaPAS-1" pp23-33 view details Abstract: A table of codes is given which permits the digital coding of programs in Lyapas for subsequent processing by the corresponding programming program (PP-Lyapas-1). To each word of the language, there corresponds a 9-bit binary code. Certain recommendations are given for the correct coding of both L-programs and the initial values of the operands in these programs. A method is given for correcting L-programs by the substitution of a string of symbols by another. The initial and final symbols of the substituted group are defined by a pair of octal numbers.
    The mode of debugging the working program is described, in which the assembly of the program is carried out with concurrent printing (punching) of certain information. The method of prescribing and coding information in the debugging mode is stated. An example of an L-program is given in the initial and coded forms, with the debugging information a& the values of the variables output during its realization.
    The discussion is conducted with respect to a 45-bit medium speed computer with 4096 words in core, for which PP-Lyapas-1 was written.
    The high speed of PP-Lyapas-1 is noted.
    To code L-programs and various auxiliary information, the inscription of zero order positions is widely used, completing the information up to the format of a memory word, to simplify the programing program.

          in Transactions of the Siberian Technical Institute for Physics, Tomsk University, no. 248 1966 view details
  • Zakrevskij A.D. "Algorithmic language LYaPAS and automation of the synthesis of discrete automata" - Tomsk: Tomsk University, 1966 view details
          in Transactions of the Siberian Technical Institute for Physics, Tomsk University, no. 248 1966 view details
  • Zakrevskij, A.D. "The First Level of LYaPAS" pp12-22 (Russian) view details Abstract: A description is given of the first level of Lyapas, a logical language for the representation of synthesis algorithms. The presentation is conducted with the aid of set theory terminology, which, in the author's opinion "offers particular convenience for the discussion of problems of a logical character, and in orientation towards discrete computation techniques."
    The operands of Lyapas are variables, whose values are a subset of a certain finite basic set of abstract elements. Starting from the word length of the majority of modern computers, the basic set is taken to consist of five elements, which permits the interpretation of the values of all variables of a language with 32 binary numbers.
    Corresponding to this, 32 names of simple variables are considered in Lyapas. Complexes of variables - sets given by the enumeration of their elements - are taken into  consideration. Elements of complexes, as well as simple variables, are the operands of the language. To select an element from a complex, there are 32 special variables, so-called parameters. The values of certain simple variables are fixed for all algorithms written in Lyapas (L-programs). These are called standard constants, and are grouped in three complexes. In each L-program, up to 21 additional constants may be introduced. These constants are also grouped in a complex, where their names are also fixed. Aside from the standard and additional constants, operands in L-proqrams can be the natural constants -- octal numbers from O to 77, to which correspond the binary codes in the lowest-order positions of the 32-bit word.
    Examples of standard operators of the first level of Lyapas are defined and illustrated and their notation is presented. The set of standard operators is fairly broad, The priority of operators is not defined, and they are executed in sequence from left to right. The result of execution of each operator is associated with some variable, whose symbol nowhere figures in the L-programs. At the start of an L-program, its value is set equal to zero. This variable is the left operand of the current operator. Its value, and only its value, can be output from the machine. Operators in an L-program are grouped into sentences that are numbered in octal from 0 to 77 in sequence. These numbers play the role of labels in transfer operations. Each sentence begins with the number of the sentence and is written on a new line. Certain notational abbreviations of L-programs are introduced. Examples are given of three algorithms written in Lyapas. The language symbols presuppose subsequent manual transcoding of the L-program to an octal code. The syntax of the language is not described systematically.

          in Transactions of the Siberian Technical Institute for Physics, Tomsk University, no. 248 1966 view details
  • Zakrevskiy, A.D. "Elements of metalanguage for the first level of LYaPAS" pp59-65 view details Abstract: Set-theory constructions are described which are proposed for use in the formal description of the first level of Lyapas and the construction of its second level
          in Transactions of the Siberian Technical Institute for Physics, Tomsk University, no. 248 1966 view details
  • Gavrilov, M.A. et al eds "LYaPAS: A Programming Language for Logic and Coding Algorithms", Academic Press 1969 view details
          in Transactions of the Siberian Technical Institute for Physics, Tomsk University, no. 248 1966 view details
  • Sammet, Jean E., "Roster of Programming Languages 1972" 154 view details
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Stock, Marylene and Stock, Karl F. "Bibliography of Programming Languages: Books, User Manuals and Articles from PLANKALKUL to PL/I" Verlag Dokumentation, Pullach/Munchen 1973 344 view details Abstract: PREFACE  AND  INTRODUCTION
    The exact number of all the programming languages still in use, and those which are no longer used, is unknown. Zemanek calls the abundance of programming languages and their many dialects a "language Babel". When a new programming language is developed, only its name is known at first and it takes a while before publications about it appear. For some languages, the only relevant literature stays inside the individual companies; some are reported on in papers and magazines; and only a few, such as ALGOL, BASIC, COBOL, FORTRAN, and PL/1, become known to a wider public through various text- and handbooks. The situation surrounding the application of these languages in many computer centers is a similar one.

    There are differing opinions on the concept "programming languages". What is called a programming language by some may be termed a program, a processor, or a generator by others. Since there are no sharp borderlines in the field of programming languages, works were considered here which deal with machine languages, assemblers, autocoders, syntax and compilers, processors and generators, as well as with general higher programming languages.

    The bibliography contains some 2,700 titles of books, magazines and essays for around 300 programming languages. However, as shown by the "Overview of Existing Programming Languages", there are more than 300 such languages. The "Overview" lists a total of 676 programming languages, but this is certainly incomplete. One author ' has already announced the "next 700 programming languages"; it is to be hoped the many users may be spared such a great variety for reasons of compatibility. The graphic representations (illustrations 1 & 2) show the development and proportion of the most widely-used programming languages, as measured by the number of publications listed here and by the number of computer manufacturers and software firms who have implemented the language in question. The illustrations show FORTRAN to be in the lead at the present time. PL/1 is advancing rapidly, although PL/1 compilers are not yet seen very often outside of IBM.

    Some experts believe PL/1 will replace even the widely-used languages such as FORTRAN, COBOL, and ALGOL.4) If this does occur, it will surely take some time - as shown by the chronological diagram (illustration 2) .

    It would be desirable from the user's point of view to reduce this language confusion down to the most advantageous languages. Those languages still maintained should incorporate the special facets and advantages of the otherwise superfluous languages. Obviously such demands are not in the interests of computer production firms, especially when one considers that a FORTRAN program can be executed on nearly all third-generation computers.

    The titles in this bibliography are organized alphabetically according to programming language, and within a language chronologically and again alphabetically within a given year. Preceding the first programming language in the alphabet, literature is listed on several languages, as are general papers on programming languages and on the theory of formal languages (AAA).
    As far as possible, the most of titles are based on autopsy. However, the bibliographical description of sone titles will not satisfy bibliography-documentation demands, since they are based on inaccurate information in various sources. Translation titles whose original titles could not be found through bibliographical research were not included. ' In view of the fact that nany libraries do not have the quoted papers, all magazine essays should have been listed with the volume, the year, issue number and the complete number of pages (e.g. pp. 721-783), so that interlibrary loans could take place with fast reader service. Unfortunately, these data were not always found.

    It is hoped that this bibliography will help the electronic data processing expert, and those who wish to select the appropriate programming language from the many available, to find a way through the language Babel.

    We wish to offer special thanks to Mr. Klaus G. Saur and the staff of Verlag Dokumentation for their publishing work.

    Graz / Austria, May, 1973
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Knuth, Donald Ervin, and Luis Trabb Pardo "The early development of programming languages" pp419-96 view details
          in Belzer, J. ; A. G. Holzman, A. Kent, (eds) Encyclopedia of Computer Science and Technology, Marcel Dekker, Inc., New York. 1979 view details
  • Library of Congress Subject Headings L18 view details
          in Belzer, J. ; A. G. Holzman, A. Kent, (eds) Encyclopedia of Computer Science and Technology, Marcel Dekker, Inc., New York. 1979 view details