SETL

редактировать
Язык программирования
SETL
Парадигма многопарадигма : императивный, процедурный, структурированный, объектно-ориентированный
Разработан (Джек) Джейкоб Т. Шварц
Разработчик Институт Куранта Математические науки
Впервые появилось1969; 51 год назад (1969)
Стабильный выпуск 1.1 / 7 января 2005 г.; 15 лет назад (07.01.2005)
Дисциплина набора текста Динамический
Веб-сайтsetl.org
Под влиянием
АЛГОЛ 60
Под влиянием
SETL2, ISETL, ABC

SETL (SET Language) - это язык программирования очень высокого уровня, основанный на математической теории устанавливает. Первоначально он был разработан (Джеком) Джейкобом Т. Шварцем в Нью-Йоркском университете (NYU) Институт математических наук Куранта в конце 1960-х годов.

Содержание
  • 1 Дизайн
  • 2 Примеры
  • 3 Использование
  • 4 Варианта языка
  • 5 Ссылки
  • 6 Дополнительная литература
  • 7 Внешние ссылки
Дизайн

SETL предоставляет два основных типа агрегированных данных: неупорядоченные наборы и последовательности (последние также называются кортежами). Элементы наборов и кортежей могут быть любого произвольного типа, включая сами наборы и кортежи. Карты предоставляются в виде наборов пар (т. Е. Кортежей длины 2) и могут иметь произвольные типы домена и диапазона. Примитивные операции в SETL включают, среди прочего, членство в множестве, объединение, пересечение и построение множества.

SETL предоставляет количественные логические выражения, построенные с использованием универсальных и экзистенциальных кванторов из логики предикатов первого порядка.

SETL предоставляет несколько итераторов для создания множества циклов по совокупным структурам данных.

Примеры

Вывести все простые числа от 2 до N:

print ([n in [2..N] | forall m in {2..n - 1 } | n mod m>0]);

Обозначение аналогично составлению списка.

Определение факториальной процедуры:

процедура факториал (n); - вычисляет факториал n! return if n = 1 then 1 else n * факториал (n - 1) end if; конечный факториал;

Более обычное выражение SETL для факториала (n>0):

* / [1..n]
Использует

В 1970-х годах SETL был перенесен на БЭСМ-6, ЭС ЭВМ и другие российские компьютерные системы.

SETL использовался для ранней реализации языка программирования Ada, названного переводчиком NYU Ada / ED. Позже это стало первой проверенной реализацией Ada, сертифицированной 11 апреля 1983 года.

Согласно Гвидо ван Россум, «предшественник Python, ABC, был вдохновлен SETL - Ламберт Меертенс провел год с группой SETL в Нью-Йоркском университете, прежде чем придумал окончательный дизайн ABC! "

Варианты языка

SET Language 2 (SETL2), обратно несовместимый потомок SETL, был создан Кирком Снайдером из Курантского института математических наук Нью-Йоркского университета в конце 1980-х годов. Как и его предшественник, он основан на теории и обозначениях конечных множеств, но также на синтаксис и стиль языка Ада повлиял.

Interactive SET Language (ISETL) - это вариант SETL, используемый в дискретной математике.

Ссылки
Дополнительная литература
  • Schwartz, Jacob T., "Set Theory as a Язык спецификации и программирования программ ». Институт математических наук Куранта, Нью-Йоркский университет, 1970.
  • Шварц, Джейкоб Т., «О программировании, промежуточный отчет по проекту SETL», Департамент компьютерных наук, Институт математических наук Куранта, Нью-Йоркский университет (1973).
  • Шварц, Джейкоб Т., Дьюар, РБК, Дубинский, Э., Шенберг, Э., Программирование с помощью наборов: введение в SETL, 1986. ISBN 0-387-96399-5.
Внешние ссылки
Последняя правка сделана 2021-06-06 03:08:48
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте