Starset (programming language)
Starset is a high-level programming language developed by the team of Mikhail Gilula in the Program Systems Institute of the Russian Academy of Sciences in 1991.
Data Types[edit]
Starset supports three data types: words (strings), sets, and classes. Each word that represents a number, also has a numerical value. If the numerical value of a word is 0, the word can also be interpreted as logical false. Otherwise, a word can be interpreted as logical true. The set data type is defined as a mathematical set of words. The class data type is defined as a mathematicel set of sets. Starset allows to define indexes for class variables. An indexed class is equivalent to a dictionary in Python-style languages. The identifiers of set and class variables must start with $ or $$, respectively.
Statements and Operators[edit]
Aside from "traditional" arithmetic, logic, and string operators, Starset supports pattern matching at the level of words and sets. For the purpose of optimization, word and set pattern matcjing is implemented via S(1)-trees[1].
Starset is a procedural language with a limited collection of built-in functions and a mechanism for adding user-defined procedures and functions.
Starset supports branching statements, as well as simple loops, parallel loops over sets and classes, and sequential loops over sets and classes. The following statements imitate databases access: index creation and deletion; search; set modification, selection from a set, insertion into a set. A built-in virtual I/O system allows the user to save sets and classes as disk files.[2][3]
Example[edit]
Procedure Ivanov inputs a class from the keyboard, removes all (sub)sets that contain no references to 'Ivanov', and outputs the new class to the screen.
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[edit]
References[edit]
- ↑ Konstantin V. Shvachko (1999). "S(b)-Tree Library: an Efficient Way of Indexing Data". 50. DIMACS Series in Discrete Mathematics and Theoretical Computer Science. pp. 207–222.
- ↑ Laszlo Böszörmenyi and Karl-Heinz Eder (1994). "Adding Parallel and Persistent Sets to Modula-3". Joint Modular Languages Conference JMLC'94, Ulm, Germany.
- ↑ Karl-Heinz Eder and Laszlo Böszörmenyi (1996). "Optimized Parallel Sets for Data Intensive Applications". Proceedings of 7th International Conference and Workshop on Database and Expert Systems Applications: DEXA 96.
Further reading[edit]
- М. М. Гилула, А.П.Столбоушкин (1991). Язык программирования Старсет. Nauka. ISBN 5-020-06831-4. Search this book on
- М. М. Гилула (1992). Множественная модель данных в информационных системах. Nauka. ISBN 5-02-006938-8. Search this book on
- M. M. Gilula (1994). The Set Model for Database and Information Systems. Addison-Wesley. ISBN 0-201-59379-3. Search this book on
This article "Starset (programming language)" is from Wikipedia. The list of its authors can be seen in its historical. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.