Rajata | |
---|---|
Kieliluokka | ohjelmointikieli |
Esiintyi | 1969 |
Kehittäjä | Courant Institute of Mathematical Sciences |
Verkkosivusto | setl.org |
Setl ( SETL ; englannin kielestä set language - language of sets) on joukkojen kanssa työskentelemiseen keskittyvä ohjelmointikieli , jonka New Yorkin yliopiston professori Jacob Schwartz kehitti 1960-luvun lopulla .
Kielen syntaksi sisältää operaatioita, joiden avulla voit manipuloida joukkoja - sisällyttäminen, poissulkeminen, jäsenten testaus, yleisyys- ja olemassaolon kvantisoijat , iteraattorit, joiden avulla voit käsitellä joukon jokaista elementtiä ja niin edelleen. Joukkojen lisäksi kieli tukee työskentelyä tilattujen joukkojen kanssa .
Kieli ei saanut laajaa levitystä, mutta 1970-1980-luvuilla Neuvostoliitossa suosio nousi: vieraillessaan Neuvostoliitossa vuonna 1972 Schwartz onnistui kiinnostamaan useita Novosibirskin kehittäjiä kielellä , joka merkitsi usean vuoden yhteistyön alkua New Yorkin ja Novosibirskin ohjelmoija- ja matemaatikoryhmien välillä. Tämän seurauksena kieli otettiin käyttöön BESM-6 :ssa , ES COMPUTERissa , NORD :ssa [1] , työ kielen parissa jatkui vuoteen 1985-1989 asti ja sitä käytettiin aktiivisesti tekoälytutkimuksessa . Settlen ideat on lainattu opetuskielellä Rapira ja Starset ( IPS RAS , 1991).
Yhdysvalloissa kieli toteutettiin Burroughsin koneilla . Käytetty Ada -kääntäjän varhaisissa toteutuksissa .
1990-luvun lopulla New Yorkin yliopistossa luotiin toinen versio kielestä, SETL2, joka oli taaksepäin yhteensopiva alkuperäisen version kanssa.
Nykyaikaisiin ohjelmointikieliin sisältyy useita kieliideoita, joista yksi on Pythonin suora edeltäjä, ABC -kieli [2] .
Yksi kielen ominaisuuksista on yksi ensimmäisistä listan sisällyttämistä koskevista merkinnöistä ; Esimerkiksi kaikkien alkulukujen tulostamiseen 2:sta Nkäytetään seuraavaa lauseketta:
tulosta ( [n in [2..N] | forall m in {2..n - 1} | n mod m > 0] )Perinteistä menettelytapamerkintää tuetaan esimerkiksi kertolaskussa:
menettely faktoriaali ( n ) ; return jos n = 1 sitten 1 else n * factorial ( n - 1 ) end if ; end factorial ;samaan aikaan, koska joukkotyypeissä on konvoluutiooperaatioita , kertoimen lauseke voidaan kirjoittaa tiiviisti:
*/[1..n]
Ohjelmointikielet | |
---|---|
|