Rajata

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] .

Esimerkkejä

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]

Muistiinpanot

  1. Novosibirskin ohjelmointikoulun muodostuminen (muistojen mosaiikki). /Toim. I.V. Pottosina. - N .: Informatiikkajärjestelmien instituutti. A. P. Ershova SO RAN, 2001. — S. 106-113. Arkistoitu 28. kesäkuuta 2021 Wayback Machinessa
  2. Pythonin edeltäjä, ABC, sai inspiraationsa SETL:stä – Lambert Meertens vietti vuoden SETL-ryhmän kanssa NYU:ssa ennen lopullisen ABC-suunnitelman laatimista! — Guido van Rossum , [1] Arkistoitu 14. toukokuuta 2011 Wayback Machinessa

Kirjallisuus

  • Schwartz, Jacob T., "Set Theory as a Language for Program Specification and Programming." Courant Institute of Mathematical Sciences, New Yorkin yliopisto, 1970.
  • Schwartz, Jacob T., "On Programming, An Interim Report on the SETL Project", Tietojenkäsittelytieteen osasto, Courant Institute of Mathematical Sciences, New Yorkin yliopisto (1973).
  • Schwartz, Jacob T., Dewar, RBK, Dubinsky, E. ja Schonberg, E., Programming With Sets: An Introduction to SETL, 1986. ISBN 0-387-96399-5 .
  • David Yakovlevich Levin, Alexander Semenovich Narignani. Kehitetty DBMS monitasoiseksi järjestelmäksi, joka perustuu SETL-kieleen. 22 s 20 cm Novosibirskin atk-keskus SO AN USSR 1982.
  • Superkorkean tason kieli SETL ja sen toteutus (BESM-6-tietokoneille) / D. Ya. Levin; Rep. toim. A. P. Ershov 160 s 20 cm Novosibirsk Nauka Sib. osasto 1983

Linkit