<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=SETL</id>
	<title>SETL - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=SETL"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=SETL&amp;action=history"/>
	<updated>2026-05-28T13:18:52Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=SETL&amp;diff=1207090&amp;oldid=prev</id>
		<title>imported&gt;SchlurcherBot: Bot: http → https</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=SETL&amp;diff=1207090&amp;oldid=prev"/>
		<updated>2025-11-23T10:52:56Z</updated>

		<summary type="html">&lt;p&gt;Bot: http → https&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;SETL&amp;#039;&amp;#039;&amp;#039; (Set Language, engl. für Mengensprache) ist eine höhere [[Programmiersprache]] die auf der [[Mengenlehre]] der [[Mathematik]] aufbaut. Sie wurde 1969/70 von [[Jacob T. Schwartz|Jack T. Schwartz]] am [[Courant Institute of Mathematical Sciences of New York University]] entwickelt.&lt;br /&gt;
&lt;br /&gt;
Als fundamentale [[Datentyp]]en kennt SETL [[Integer (Datentyp)|Integer]], [[Gleitkommazahl|Real]], [[Zeichenkette|String]], [[Boolean]] und den [[Nullwert]] &amp;#039;&amp;#039;Omega&amp;#039;&amp;#039; (om). Es gibt keine [[starke Typisierung]], der Datentyp einer [[Variable (Programmierung)|Variable]] wird je nach zugewiesenem Inhalt angepasst. Des Weiteren verfügt SETL über [[automatische Speicherbereinigung]].&lt;br /&gt;
&lt;br /&gt;
SETL kennt zwei [[Datenstruktur]]en, das unsortierte &amp;#039;&amp;#039;set&amp;#039;&amp;#039; (engl. [[Menge_(Datenstruktur)|Menge]]) und das &amp;#039;&amp;#039;tuple&amp;#039;&amp;#039; (engl. [[Tupel]]) als geordnete Folge von Elementen. Ein &amp;#039;&amp;#039;set&amp;#039;&amp;#039; weist die Besonderheit auf, dass in ihm kein Wert doppelt vorkommt, bei einem &amp;#039;&amp;#039;tuple&amp;#039;&amp;#039; ist dies jedoch gestattet. Bis auf diese Einschränkung ist der Inhalt von einem &amp;#039;&amp;#039;set&amp;#039;&amp;#039; oder einem &amp;#039;&amp;#039;tuple&amp;#039;&amp;#039; beliebig, sie können auch weitere &amp;#039;&amp;#039;sets&amp;#039;&amp;#039; und &amp;#039;&amp;#039;tuples&amp;#039;&amp;#039; beinhalten. Ein Sonderfall ist die &amp;#039;&amp;#039;map&amp;#039;&amp;#039; (kurz für &amp;#039;&amp;#039;mapping&amp;#039;&amp;#039;, engl. [[Funktion (Mathematik)|Abbildung]]). Sie ist eine Menge von geordneten Paaren und besteht aus &amp;#039;&amp;#039;tuples&amp;#039;&amp;#039; der Länge 2.&lt;br /&gt;
&lt;br /&gt;
Des Weiteren stellt SETL [[do-while-Schleife]]n, [[Verzweigung (Programmierung)|if-then-else- und case-Anweisungen]] zur Verfügung. Auch gibt es spezialisierte Schleifen zum Durchlaufen von &amp;#039;&amp;#039;tuples&amp;#039;&amp;#039; und &amp;#039;&amp;#039;sets&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Von Hause aus kennt SETL zahlreiche [[Operator (Mathematik)|Operatoren]] für die [[Grundrechenart]]en, sowie [[Trigonometrie|trigonometrische]] und andere mathematische Aufgaben. Des Weiteren besitzt SETL spezielle Operatoren zum Arbeiten mit Mengen und Zeichenketten. Außerdem kann man eigene Operatoren festlegen.&lt;br /&gt;
&lt;br /&gt;
== Implementierung ==&lt;br /&gt;
&lt;br /&gt;
Aufgrund der jahrelangen Zusammenarbeit der New York University und Wissenschaftlern aus [[Nowosibirsk]], wurde SETL nicht nur auf Rechnern der amerikanischen Firma [[Burroughs Corporation|Burrough]], sondern auch auf russischen Rechnern vom Typ [[BESM (Computer)|BESM-6]] und [[ES EVM]] implementiert. Mittlerweile gibt es auch verschiedene Implementierungen für alle gängigen [[Betriebssystem]]e.&lt;br /&gt;
&lt;br /&gt;
== Beispielquelltext ==&lt;br /&gt;
&lt;br /&gt;
Zwei Beispiele zum Ausgeben aller [[Primzahl|Primzahlen]] von 2 bis n. Besonders am zweiten Beispiel lässt sich erkennen, dass die Sprache auf der Mengenlehre aufbaut.&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;program&amp;#039;&amp;#039;&amp;#039; primzahlen;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:grey;&amp;quot;&amp;gt;&amp;#039;&amp;#039;$ Dieses Programm gibt alle Primzahlen aus, die kleiner als der eingelesene Parameter sind&amp;#039;&amp;#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;read&amp;#039;&amp;#039;&amp;#039;(&amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt;);              &amp;lt;span style=&amp;quot;color:grey;&amp;quot;&amp;gt;&amp;#039;&amp;#039;$lese Parameter ein&amp;#039;&amp;#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;primes&amp;lt;/span&amp;gt; := { };        &amp;lt;span style=&amp;quot;color:grey;&amp;quot;&amp;gt;&amp;#039;&amp;#039;$Menge der ausgegebenen Primzahlen&amp;#039;&amp;#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;p&amp;lt;/span&amp;gt; := &amp;lt;span style=&amp;quot;color:darkgreen;&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;;               &amp;lt;span style=&amp;quot;color:grey;&amp;quot;&amp;gt;&amp;#039;&amp;#039;$erste Primzahl festlegen&amp;#039;&amp;#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:grey;&amp;quot;&amp;gt;&amp;#039;&amp;#039;$ Schleife um weitere Primzahlen zu ermitteln&amp;#039;&amp;#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;loop while&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;p&amp;lt;/span&amp;gt; &amp;lt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt; &amp;#039;&amp;#039;&amp;#039;do&amp;#039;&amp;#039;&amp;#039;   &amp;lt;span style=&amp;quot;color:grey;&amp;quot;&amp;gt;&amp;#039;&amp;#039;$ Wiederhole solange p kleiner als n ist&amp;#039;&amp;#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;#039;&amp;#039;&amp;#039;if notexists&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;t&amp;lt;/span&amp;gt; &amp;#039;&amp;#039;&amp;#039;in&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;primes&amp;lt;/span&amp;gt; | &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;p&amp;lt;/span&amp;gt; &amp;#039;&amp;#039;&amp;#039;mod&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;t&amp;lt;/span&amp;gt; = &amp;lt;span style=&amp;quot;color:darkgreen;&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt; &amp;#039;&amp;#039;&amp;#039;then&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;print&amp;#039;&amp;#039;&amp;#039;(&amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;p&amp;lt;/span&amp;gt;);         &amp;lt;span style=&amp;quot;color:grey;&amp;quot;&amp;gt;&amp;#039;&amp;#039;$keine der bisherig ermittelten Primzahlen ist Teiler von p, also gib die Primzahl aus&amp;#039;&amp;#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
       &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;primes&amp;lt;/span&amp;gt; &amp;#039;&amp;#039;&amp;#039;with&amp;#039;&amp;#039;&amp;#039; := &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;p&amp;lt;/span&amp;gt;; &amp;lt;span style=&amp;quot;color:grey;&amp;quot;&amp;gt;&amp;#039;&amp;#039;$Füge sie zur Menge der ausgegebenen Primzahlen hinzu&amp;#039;&amp;#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;#039;&amp;#039;&amp;#039;end if&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;p&amp;lt;/span&amp;gt; := &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;p&amp;lt;/span&amp;gt; + &amp;lt;span style=&amp;quot;color:darkgreen;&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;;         &amp;lt;span style=&amp;quot;color:grey;&amp;quot;&amp;gt;&amp;#039;&amp;#039;$Zu testende Zahl um eins erhöhen&amp;#039;&amp;#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;end loop&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;end program&amp;#039;&amp;#039;&amp;#039; primzahlen;&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;program&amp;#039;&amp;#039;&amp;#039; primzahlen2;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;read&amp;#039;&amp;#039;&amp;#039;(&amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt;);&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;print&amp;#039;&amp;#039;&amp;#039;({&amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;p&amp;lt;/span&amp;gt; &amp;#039;&amp;#039;&amp;#039;in&amp;#039;&amp;#039;&amp;#039; {&amp;lt;span style=&amp;quot;color:darkgreen;&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;..&amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt;} | &amp;#039;&amp;#039;&amp;#039;forall&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;t&amp;lt;/span&amp;gt; &amp;#039;&amp;#039;&amp;#039;in&amp;#039;&amp;#039;&amp;#039; {&amp;lt;span style=&amp;quot;color:darkgreen;&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;..&amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;p&amp;lt;/span&amp;gt; - &amp;lt;span style=&amp;quot;color:darkgreen;&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;} | &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;p&amp;lt;/span&amp;gt; &amp;#039;&amp;#039;&amp;#039;mod&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;t&amp;lt;/span&amp;gt; &amp;gt; &amp;lt;span style=&amp;quot;color:darkgreen;&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;});&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:grey;&amp;quot;&amp;gt;&amp;#039;&amp;#039;$Gib die Menge aller Zahlen p aus der Menge 2 bis n aus, für die gilt,&amp;#039;&amp;#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:grey;&amp;quot;&amp;gt;&amp;#039;&amp;#039;$dass p sich durch keine der Zahlen der Menge 2 bis p-1 glatt teilen lässt&amp;#039;&amp;#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;end program&amp;#039;&amp;#039;&amp;#039; primzahlen2;&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.setl.org/ SETL gewidmeter Web-Auftritt]&lt;br /&gt;
* [https://cs.nyu.edu/~bacon/setl-doc.html Dokumentation der SETL Programmiersprache (engl.)]&lt;br /&gt;
* [http://cs1.cs.nyu.edu/bacon/download-setl.html SETL Compiler (engl.)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmiersprache|Setl]]&lt;br /&gt;
[[Kategorie:Abkürzung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;SchlurcherBot</name></author>
	</entry>
</feed>