Сетл

Материал из Википедии — свободной энциклопедии
Сетл
Класс языка язык программирования
Появился в 1969
Разработчик Курантовский институт математических наук
Сайт setl.org

Сетл (SETL; от

Нью-йоркского университета Джекоба Шварца
.

Синтаксические конструкции языка содержат операции, позволяющие манипулировать со множествами — включение, исключение, проверка принадлежности, кванторы всеобщности и существования, итераторы, позволяющие обрабатывать каждый элемент множества и так далее. Кроме множеств, язык поддерживает работу с упорядоченными множествами — кортежами.

Широкого распространения язык не получил, но был определённый всплеск популярности в 1970-е — 1980-е годы в Советском Союзе: во время визита в

ИПС РАН
, 1991).

В

США язык был реализован на машинах компании Burroughs. Использовался в ранних реализациях компилятора Ады
.

Во конце 1990-х годов в Нью-Йоркском университете создана вторая версия языка — SETL2, обратно совместимая с оригинальным вариантом.

Ряд идей языка воплощены в современных языках программирования, среди них — прямой предшественник Python язык ABC[2].

Примеры

Одна из особенностей языка — одна из первых реализаций нотации спискового включения; например, для печати всех простых чисел от 2 до N применяется следующее выражение:

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

Поддерживается традиционная процедурная нотация, например, для вычисления факториала:

procedure factorial(n);
   return if n = 1 then 1 else n * factorial(n - 1) end if;
 end factorial;

при этом благодаря наличию операций свёртки над типами-множествами выражение для факториала можно записать компактно:

*/[1..n]

Примечания

  1. Становление новосибирской школы программирования (мозаика воспоминаний). / Под ред. И.В. Поттосина. — Н.: Институт систем информатики им. А. П. Ершова СО РАН, 2001. — С. 106-113. Архивировано 28 июня 2021 года.
  2. Guido van Rossum, [1] Архивная копия от 14 мая 2011 на Wayback Machine

Литература

Ссылки