Set theoretic programming

Last updated

Set theoretic programming is a programming paradigm based on mathematical set theory. One example of a programming language based on this paradigm is SETL. The goal of set theoretic programming is to improve programmer speed and productivity significantly, and also enhance program clarity and readability. [1]

Languages With Set-Based Operators

Related Research Articles

<span class="mw-page-title-main">Computer science</span> Study of computation

Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines to practical disciplines. Computer science is generally considered an academic discipline and distinct from computer programming which is considered to be a technical field.

Logic programming is a programming paradigm which is largely based on formal logic. Any program written in a logic programming language is a set of sentences in logical form, expressing facts and rules about some problem domain. Major logic programming language families include Prolog, answer set programming (ASP) and Datalog. In all of these languages, rules are written in the form of clauses:

Originally, the word computing was synonymous with counting and calculating, and the science and technology of mathematical calculations. Today, "computing" means using computers and other computing machines. It includes their operation and usage, the electrical processes carried out within the computing hardware itself, and the theoretical concepts governing them.

<span class="mw-page-title-main">Rapira</span>

Rapira is an educational procedural programming language developed in the Soviet Union and implemented on the Agat computer, PDP-11 clones, and Intel 8080 and Zilog Z80 clones (Korvet). It is interpreted with a dynamic type system and high level constructions. The language originally had a Russian-based set of reserved words (keywords), but English and Romanian were added later. It was considered more elegant and easier to use than Pascal implementations of the time.

In science and philosophy, a paradigm is a distinct set of concepts or thought patterns, including theories, research methods, postulates, and standards for what constitute legitimate contributions to a field. The word paradigm is Greek in origin, meaning "pattern", and is used to illustrate similar occurrences.

Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms.

In computer science, imperative programming is a programming paradigm of software that uses statements that change a program's state. In much the same way that the imperative mood in natural languages expresses commands, an imperative program consists of commands for the computer to perform. Imperative programming focuses on describing how a program operates step by step, rather than on high-level descriptions of its expected results.

<span class="mw-page-title-main">Guido van Rossum</span> Dutch programmer and creator of Python

Guido van Rossum is a Dutch programmer best known as the creator of the Python programming language, for which he was the "benevolent dictator for life" (BDFL) until he stepped down from the position on 12 July 2018. He remained a member of the Python Steering Council through 2019, and withdrew from nominations for the 2020 election.

SETL is a very high-level programming language based on the mathematical theory of sets. It was originally developed by (Jack) Jacob T. Schwartz at the New York University (NYU) Courant Institute of Mathematical Sciences in the late 1960s.

ProSet is a set theoretic programming language that is being developed at the University of Essen as a successor to SETL. It is a very-high level language that supports prototyping.

A tuple space is an implementation of the associative memory paradigm for parallel/distributed computing. It provides a repository of tuples that can be accessed concurrently. As an illustrative example, consider that there are a group of processors that produce pieces of data and a group of processors that use the data. Producers post their data as tuples in the space, and the consumers then retrieve data from the space that match a certain pattern. This is also known as the blackboard metaphor. Tuple space may be thought as a form of distributed shared memory.

<span class="mw-page-title-main">Jacob T. Schwartz</span> American mathematician

Jacob Theodore "Jack" Schwartz was an American mathematician, computer scientist, and professor of computer science at the New York University Courant Institute of Mathematical Sciences. He was the designer of the SETL programming language and started the NYU Ultracomputer project. He founded the New York University Department of Computer Science, chairing it from 1964 to 1980.

In computer science, the expressive power of a language is the breadth of ideas that can be represented and communicated in that language. The more expressive a language is, the greater the variety and quantity of ideas it can be used to represent.

The Triune Continuum Paradigm is a paradigm for general system modeling published in 2002. The paradigm allows for building of rigorous conceptual frameworks employed for systems modeling in various application contexts.

Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields, and the code is in the form of procedures.

<span class="mw-page-title-main">Robert Dewar</span> Computer scientist

Robert Berriedale Keith Dewar was an American computer scientist and educator. He helped to develop programming languages and compilers and was an outspoken advocate of freely licensed open-source software. He was a cofounder, CEO, and president of the AdaCore software company. He was also an enthusiastic amateur performer and musician, especially with the Village Light Opera Group in New York City.

Visual Basic .NET was released by Microsoft in 2002 as a successor to the original Visual Basic computer programming language. It was implemented on the .NET Framework 1.0. The main new feature was managed code. Programmers familiar only with Visual Basic would probably have encountered difficulties working with the new version or adapting existing programs for it.

References

  1. J.T. Schwartz, R.B.K. Dewar, E. Dubinsky, and E. Schonberg. Programming with sets, an introduction to SETL. Springer-Verlag, 1986.