Afregne | |
---|---|
Sprog klasse | programmeringssprog |
Dukkede op i | 1969 |
Udvikler | Courant Institut for Matematiske Videnskaber |
Internet side | setl.org |
Setl ( SETL ; fra det engelske set language - language of sets ) er et programmeringssprog fokuseret på at arbejde med sæt , udviklet i slutningen af 1960'erne af en gruppe af New York University professor Jacob Schwartz .
Sprogets syntaks indeholder operationer, der giver dig mulighed for at manipulere sæt - inklusion, ekskludering, medlemskabstestning, universalitet og eksistenskvantatorer, iteratorer , der giver dig mulighed for at behandle hvert element i sættet, og så videre. Ud over sæt understøtter sproget arbejde med bestilte sæt - tupler .
Sproget fik ikke stor udbredelse, men der var en vis stigning i popularitet i 1970'erne - 1980'erne i Sovjetunionen: Under et besøg i USSR i 1972 lykkedes det Schwartz at interessere en række udviklere fra Novosibirsk i sproget , hvilket markerede begyndelsen på flere års samarbejde mellem New York og Novosibirsk grupper af programmører og matematikere. Som følge heraf blev sproget implementeret på BESM-6 , ES COMPUTER , NORD [1] , arbejdet med sproget fortsatte indtil 1985-1989 og blev aktivt brugt i forskning i kunstig intelligens . Settles ideer er lånt i undervisningssproget Rapira og Starset ( IPS RAS , 1991).
I USA blev sproget implementeret på Burroughs -maskiner . Brugt i tidlige implementeringer af Ada compileren .
I slutningen af 1990'erne blev en anden version af sproget, SETL2, skabt på New York University, som var bagudkompatibel med den originale version.
En række sprogideer er nedfældet i moderne programmeringssprog, blandt dem er den direkte forgænger til Python, ABC -sproget [2] .
Et af sprogets egenskaber er en af de første implementeringer af listeinkluderingsnotationen ; for eksempel, for at udskrive alle primtal fra 2 til Nfølgende udtryk bruges:
print ( [n i [2..N] | forall m i {2..n - 1} | n mod m > 0] )Traditionel procedurenotation understøttes, for eksempel til faktorberegning:
procedure faktoriel ( n ) ; returner hvis n = 1 så 1 ellers n * faktoriel ( n - 1 ) ende if ; end factorial ;på samme tid, på grund af tilstedeværelsen af foldningsoperationer på sættyper, kan udtrykket for faktorialet skrives kompakt:
*/[1..n]
Programmeringssprog | |
---|---|
|