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] .
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]
Programozási nyelvek | |
---|---|
|