Clever Geek Handbook
📜 ⬆️ ⬇️

Starset

Starset is a high-level programming language developed under the direction of M. M. Gilula at the Institute for Software Systems of the Russian Academy of Sciences in 1991.

Content

Data Types

Starset supports three types of data : words (they are also strings), sets and classes. Each word, which is a correctly written number, has a numerical value. If the numerical value of a word is 0, then the word is logically interpreted as an identically false predicate . Otherwise, the word is logically interpreted as an identically true predicate. The type "set" is defined as a mathematical set of words. The type "class" is defined as a mathematical set of sets. Starset allows you to define indexes for variables of type "class". An indexed class is equivalent to a dictionary in languages ​​like Python . Identifiers of variables of type "set" and "class" begin with $ and $$, respectively.

Operations

In addition to the "traditional" arithmetic and logical operators and operators on the lines, Starset supports pattern matching at the level of both words and sets. To optimize the operations of matching words and sets are presented in the form of S (1) -trees [1] .

Starset is a procedural language with a limited set of built-in functions and the ability to create custom procedures and function-procedures.

The Starset supports the operators of branching, simple looping, parallel looping across a set or class, and sequential looping across a set or class. To simulate working with databases , the operators of creating and deleting an index, searching, modifying, adding and selecting sets are used. A virtualized embedded I / O system allows you to store sets and classes on external media. [2] [3]

Code Example

The Ivanov procedure introduces a class from the display, deletes all subsets that do not contain a single word with the subword 'Ivanov', and displays the resulting class on the display.

  Proc Ivanov ()
      word : x;
      set : $ set;
      class : $$ class;
      Read $$ class;
      $$ class: = {$ set in $$ class: ( Exist x in $ set) (x is [..] ^ 'Ivanov' ^ [..])};
      Write $$ class;
    Endproc

See also

  • SETL

Notes

  1. ↑ Konstantin V. Shvachko. S (b) -Tree Library: an Efficient Way of Indexing Data. - DIMACS Series in Discrete Mathematics and Theoretical Computer Science, 1999. - Vol. 50. - P. 207 - 222.
  2. ↑ Laszlo Böszörmenyi and Karl-Heinz Eder. Adding Parallel and Persistent Sets to Modula-3 (English) . - Joint Modular Languages ​​Conference JMLC'94, Ulm, Germany, 1994.
  3. ↑ Karl-Heinz Eder and Laszlo Böszörmenyi. Optimized Parallel Sets for Data Intensive Applications. - Proceedings of the 7th International Conference and Workshop on Database and Expert Systems Applications: DEXA 96, 1996. - P. 185 - 192. - DOI : 10.1109 / DEXA.1996.558293 .

Literature

  • M.M. Gilula, A.P. Stolboushkin. Programming language StarSet - M .: "Science" , 1991. - ISBN 5-020-06831-4 .
  • M.M. Gilula. Multiple data model in information systems. - M .: "Science" , 1992. - 207 p. - ISBN 5-02-006938-8 .
  • MM Gilula. Multiple Model for Database and Information Systems = The Set Model for Database and Information Systems. - Reading, Massachusetts: Addison-Wesley , 1994 .-- ISBN 0-201-59379-3 .
Source - https://ru.wikipedia.org/w/index.php?title=Starset&oldid=100708310


More articles:

  • Marto, Henri (actor)
  • Chile Football Cup 1996
  • Kalinkina Village
  • Lyutov, Nikolai Mikhailovich
  • 1860 at the theater
  • antiX
  • Svaev, Rustam Serikovich
  • Klimonov, Egor Sergeevich
  • Medium (duct, mouth of Indigirka)
  • List of Threatened Millipede Species

All articles

Clever Geek | 2019