# LYaPAS

Paradigms functional, structured, modular Arkady D.Zakrevskij 1964; 59 years ago Dynamic Ural-1 mainframe computer

Logical Language for the Representation of Synthesis Algorithms (LYaPAS, Russian: ЛЯПАС) is a programming language created by Arkady Zakrevsky in the Soviet Union.

LYaPAS was initially designed especially for non-numeric programming for the Soviet designed and built line of mainframe computers named Ural-1. LYaPAS uses octal numbers.

A further refinement of LYaPAS is LYaPAS-M.

## History

The development started in the end of 1962,[1] while Zakrevsky was working at the Siberian Physical-Technical Institute (part of Tomsk State University).[2] The first translators were implemented in 1963.[1]

The first widely available book about the language was published in Russian (Логический язык для представления алгоритмов синтеза релейных устройств, 1966), which was soon translated and published in English (LYaPAS: a programming language for logic and coding algorithms, 1969). The book contained a collection of articles with full LYaPAS descriptions, some algorithms in the language and descriptions of programming environments for the Ural-1 and M-20 computers which operated at a speed of 100 and 20,000 operations per second, respectively.[1]

In 1974, LYaPAS-M, a new version of the language, appeared. Among other changes, this version was adapted for the character set common among the Soviet computers of the time, namely the first 100 characters of the GOST 10859 7-bit encoding.[1]

Zakrevsky later worked on LYaPAS at the Laboratory of System Programming and Logical Synthesis, of the Academy of Sciences of the Byelorussian SSR, since renamed the National Academy of Sciences of Belarus.[3][4][5][6][7][8][9]

## Example

Example program in LYaPAS-M for calculating GCD of variables N and M:[1]

```П1 N ↑–2 M;N=R N=M R=N ↑=1
П2 M=D **
```

Explanation:

• Program is executed from left to right.
• П1 and П2 are line labels.
• Operation `N` puts the value of the integer variable into the implicit "current value" variable τ, which holds the result of the last operation.
• Conditional branch operation `↑–2` moves the execution to line 2 if the current value is zero.
• Expression `M;N` calculates remainder.
• Expression `=R` assigns current value to variable R.
• `↑=1` is an unconditional branch to line 1.
• `**` is the end marker.

All whitespaces are ignored, so the above program is equivalent to the one-liner:

```П1N↑–2M;N=RN=MR=N↑=1П2M=D**
```

## Bibliography

• LYaPAS: a programming language for logic and coding algorithms. Edited by M. A. Gavrilov and A. D. Zakrevskii. Translated by Morton Nadler. New York, Academic Press, 1969. 475 p.

## References

1. А. Д. Закревский, Н. Р. Торопов. Система программирования ЛЯПАС-М. Мн.: Наука и техника, 1978, 220 с.
2. ^ Закревский Аркадий Дмитриевич — Электронная энциклопедия ТГУ.
3. ^ "LYaPAS". Encyclopedia of Programming Languages. Archived from the original on July 2008. Retrieved 15 July 2018.
4. ^ Zakrevskij, A.D. (1964). "LYaPAS: a Language for the Representation of Synthesis Algorithms". Proceedings of the Scientific Seminar on the Theoretical and Applied Problems of Cybernetics (in Russian). Kiev.
5. ^ Tovshceyn, M.Ya. (1966). "PP-LYaPAS-1, A translator for the first level of LYAPAS". Transactions of the Siberian Technical Institute for Physics (in Russian). Tomsk: Tomsk University (248): 34–58.
6. ^ Tovshteyn, M.Ya. (1966). "Representation of Input Information to PP-LYaPAS-1". Transactions of the Siberian Technical Institute for Physics (in Russian). Tomsk: Tomsk University (248): 23–33.
7. ^ Zakrevskij, A.D. (1966). "Algorithmic language LYaPAS and automation of the synthesis of discrete automata" (in Russian). Tomsk: Tomsk University. `{{cite journal}}`: Cite journal requires `|journal=` (help)
8. ^ Zakrevskij, A.D. (1966). "The First Level of LYaPAS". Transactions of the Siberian Technical Institute for Physics (in Russian). Tomsk: Tomsk University (248): 12–22.
9. ^ Zakrevskiy, A.D. (1966). "Elements of metalanguage for the first level of LYaPAS". Transactions of the Siberian Technical Institute for Physics (in Russian). Tomsk: Tomsk University (248): 59–65.