Letelepedni

Letelepedni
Nyelvóra programozási nyelv
Megjelent 1969
Fejlesztő Courant Matematikai Tudományok Intézete
Weboldal setl.org

A Setl ( SETL ; az angol  set language  – halmazok nyelve) egy olyan programozási nyelv , amely a halmazokkal való munkára összpontosít, és amelyet az 1960 -as évek végén fejlesztett ki a New York-i Egyetem professzora , Jacob Schwartz .

A nyelv szintaxisa olyan műveleteket tartalmaz, amelyek lehetővé teszik a halmazok kezelését - befoglalás, kizárás, tagság tesztelése, egyetemesség és létezés kvantorok , iterátorok, amelyek lehetővé teszik a halmaz egyes elemeinek feldolgozását stb. A készletek mellett a nyelv támogatja a rendezett halmazokkal - sorokkal való munkát .

A nyelvet nem terjesztették el széles körben, de az 1970-es és 1980-as években a Szovjetunióban bizonyos mértékben megugrott a népszerűség: 1972 -ben a Szovjetunióban tett látogatása során Schwartz számos novoszibirszki fejlesztőt sikerült felkelteni a nyelv iránt , ami több éves együttműködés kezdetét jelentette a New York-i és Novoszibirszki programozók és matematikusok csoportjai között. Ennek eredményeként a nyelvet implementálták a BESM-6 , ES COMPUTER , NORD [1] nyelven, a nyelvvel kapcsolatos munka 1985-1989-ig folytatódott, és aktívan használták a mesterséges intelligencia kutatásában . Settle ötleteit a Rapira és a Starset oktatási nyelvből kölcsönözték ( IPS RAS , 1991).

Az Egyesült Államokban a nyelvet Burroughs gépeken implementálták . Az Ada fordító korai megvalósításaiban használták .

Az 1990-es évek végén a New York-i Egyetemen létrehozták a nyelv második változatát, a SETL2-t, amely visszafelé kompatibilis volt az eredeti verzióval.

Számos nyelvi ötlet testesül meg a modern programozási nyelvekben, köztük van a Python közvetlen elődje, az ABC nyelv [2] .

Példák

A nyelv egyik jellemzője a listabefoglalási jelölés egyik első megvalósítása ; Például az összes prímszám 2-től való kinyomtatásához Na következő kifejezést használjuk:

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

A hagyományos eljárási jelölés támogatott például a faktorszámításhoz:

eljárás faktoriális ( n ) ; return if n = 1 then 1 else n * faktoriális ( n - 1 ) vége if ; vége faktoriális ;

ugyanakkor a halmaztípusokon a konvolúciós műveletek jelenléte miatt a faktoriális kifejezés kompaktan írható:

*/[1..n]

Jegyzetek

  1. A novoszibirszki programozóiskola kialakulása (emlékmozaik). / Szerk. I.V. Pottosina. - N .: Informatikai Rendszerek Intézete. A. P. Ershova SO RAN, 2001. – P. 106-113. Archiválva 2021. június 28-án a Wayback Machine -nél
  2. ↑ A Python elődjét, az ABC-t a SETL ihlette – Lambert Meertens egy évet töltött a SETL csoportnál a NYU-n, mielőtt előállt a végleges ABC tervvel! — Guido van Rossum , [1] Archivált : 2011. május 14. a Wayback Machine -nél

Irodalom

  • Schwartz, Jacob T., "Set Theory as a Language for Program Specification and Programming." Courant Institute of Mathematical Sciences, New York Egyetem, 1970.
  • Schwartz, Jacob T., "A programozásról, egy időközi jelentés a SETL projektről", Számítástechnikai osztály, Courant Institute of Mathematical Sciences, New York Egyetem (1973).
  • Schwartz, Jacob T., Dewar, RBK, Dubinsky, E. és Schonberg, E., Programing With Sets: An Introduction to SETL, 1986. ISBN 0-387-96399-5 .
  • David Jakovlevics Levin, Alekszandr Szemenovics Narignani. A DBMS-t SETL nyelven alapuló többszintű rendszerként fejlesztette ki. 22 s 20 cm Novoszibirszki Számítási Központ SO AN USSR 1982.
  • Szupermagas szintű SETL nyelv és megvalósítása (BESM-6 számítógépekhez) / D. Ya. Levin; Ismétlés. szerk. A. P. Ershov 160 s 20 cm Novoszibirszk Nauka Sib. osztály 1983

Linkek