Usadit

Usadit
Jazyková třída programovací jazyk
Objevil se v 1969
Vývojář Courantův ústav matematických věd
webová stránka setl.org

Setl ( SETL ; z anglického  set language  - language of sets) je programovací jazyk zaměřený na práci s množinami , vyvinutý koncem 60. let minulého století skupinou profesora New York University Jacoba Schwartze .

Syntaxe jazyka obsahuje operace, které vám umožňují manipulovat s množinami – zahrnutí, vyloučení, testování členství, kvantifikátory univerzálnosti a existence , iterátory, které vám umožní zpracovat každý prvek množiny, a tak dále. Kromě množin jazyk podporuje práci s uspořádanými množinami - n-ticemi .

Jazyk se nedočkal široké distribuce, ale v 70. - 80. letech v Sovětském svazu došlo k určitému nárůstu popularity: během návštěvy SSSR v roce 1972 se Schwartzovi podařilo zaujmout o jazyk řadu vývojářů z Novosibirsku , kteří znamenal začátek několika let spolupráce mezi newyorskou a novosibirskou skupinou programátorů a matematiků. V důsledku toho byl jazyk implementován na BESM-6 , ES COMPUTER , NORD [1] , práce na jazyku pokračovaly až do let 1985-1989 a byl aktivně využíván ve výzkumu umělé inteligence . Settleovy myšlenky jsou vypůjčeny ve vzdělávacím jazyce Rapira a Starset ( IPS RAS , 1991).

V USA byl jazyk implementován na strojích Burroughs . Používá se v raných implementacích kompilátoru Ada .

Koncem 90. let byla na New York University vytvořena druhá verze jazyka SETL2, která byla zpětně kompatibilní s původní verzí.

Řada jazykových myšlenek je ztělesněna v moderních programovacích jazycích, mezi nimi je přímý předchůdce Pythonu, jazyk ABC [2] .

Příklady

Jednou z vlastností jazyka je jedna z prvních implementací zápisu zahrnutí seznamu ; například pro tisk všech prvočísel od 2 do Nnásledujícího výrazu se používá:

tisk ( [n v [2..N] | pro všechny m v {2..n - 1} | n mod m > 0] )

Tradiční procedurální zápis je podporován například pro faktoriální výpočet:

faktoriál procedury ( n ) ; return if n = 1 then 1 else n * faktoriál ( n - 1 ) end if ; koncový faktoriál ;

zároveň, díky přítomnosti konvolučních operací na typech množin, lze výraz pro faktoriál zapsat kompaktně:

*/[1..n]

Poznámky

  1. Vznik novosibirské školy programování (mozaika vzpomínek). / Ed. I.V. Pottosina. - N .: Ústav informačních systémů. A. P. Ershova SO RAN, 2001. — S. 106-113. Archivováno 28. června 2021 na Wayback Machine
  2. ↑ Předchůdce Pythonu , ABC, byl inspirován SETL — Lambert Meertens strávil rok se skupinou SETL na NYU, než přišel s konečným designem ABC! — Guido van Rossum , [1] Archivováno 14. května 2011 na Wayback Machine

Literatura

  • Schwartz, Jacob T., "Teorie množin jako jazyk pro specifikaci programu a programování." Courant Institute of Mathematical Sciences, New York University, 1970.
  • Schwartz, Jacob T., "On Programming, An Interim Report on the SETL Project", Computer Science Department, Courant Institute of Mathematical Sciences, New York University (1973).
  • Schwartz, Jacob T., Dewar, RBK, Dubinsky, E. a Schonberg, E., Programming With Sets: An Introduction to SETL, 1986. ISBN 0-387-96399-5 .
  • David Jakovlevič Levin, Alexandr Semenovič Narignani. Vyvinutý DBMS jako víceúrovňový systém založený na jazyku SETL. 22 s 20 cm. Novosibirské výpočetní centrum SO AN SSSR 1982.
  • Super-vysokoúrovňový jazyk SETL a jeho implementace (pro počítače BESM-6) / D. Ya. Levin; Rep. vyd. A. P. Ershov 160 s 20 cm Novosibirsk Nauka Sib. oddělení 1983

Odkazy