SETL (original) (raw)
SETL (SET Language) is a very high-level programming language based on the mathematical theory of sets. It was originally developed by (Jack) Jacob T. Schwartz at the New York University (NYU) Courant Institute of Mathematical Sciences in the late 1960s.
Property | Value |
---|---|
dbo:abstract | SETL (Set Language, engl. für Mengensprache) ist eine höhere Programmiersprache die auf der Mengenlehre der Mathematik aufbaut. Sie wurde 1969/70 von Jack T. Schwartz am Courant Institute of Mathematical Sciences of New York University entwickelt. Als fundamentale Datentypen kennt SETL Integer, Real, String, Boolean und den Nullwert Omega (om). Es gibt keine starke Typisierung, der Datentyp einer Variable wird je nach zugewiesenem Inhalt angepasst. Des Weiteren verfügt SETL über automatische Speicherbereinigung. SETL kennt zwei Datenstrukturen, das unsortierte set (engl. Menge) und das tuple (engl. Tupel) als geordnete Folge von Elementen. Ein set weist die Besonderheit auf, dass in ihm kein Wert doppelt vorkommt, bei einem tuple ist dies jedoch gestattet. Bis auf diese Einschränkung ist der Inhalt von einem set oder einem tuple beliebig, sie können auch weitere sets und tuples beinhalten. Ein Sonderfall ist die map (kurz für mapping, engl. Abbildung). Sie ist eine Menge von geordneten Paaren und besteht aus tuples der Länge 2. Des Weiteren stellt SETL do-while-Schleifen, if-then-else- und case-Anweisungen zur Verfügung. Auch gibt es spezialisierte Schleifen zum Durchlaufen von tuples und sets. Von Hause aus kennt SETL zahlreiche Operatoren für die Grundrechenarten, sowie trigonometrische und andere mathematische Aufgaben. Des Weiteren besitzt SETL spezielle Operatoren zum Arbeiten mit Mengen und Zeichenketten. Außerdem kann man eigene Operatoren festlegen. (de) SETL est un langage de programmation de très haut niveau basé sur la théorie mathématique des ensembles. Il a été à l'origine développé près Jacob T. Schwartz au Courant Institute of Mathematical Sciences de la NYU. Il existe une variante nommée ISETL (de l'anglais Interactive SET Language) permettant de faire de la programmation sur des ensembles mathématiques. SETL fournit deux types de données de base : Les ensembles non ordonnés et les suites (appelées également tuples). Les éléments des ensembles et des tuples peuvent être de n'importe quel type arbitraire, y compris les ensembles et les tuples eux-mêmes. Les fonctions sont fournis en tant qu'ensembles de paires (c.-à-d., tuples de longueur 2) et peuvent avoir des domaines et de codomaines de types arbitraires. Les opérations primitives dans SETL incluent, entre d'autres, l'appartenance ensembliste, l'union, l'intersection et la puissance d'ensembles. SETL permet d'exprimer des expressions booléennes quantifiées construites en utilisant le calcul des prédicats du premier ordre, les quantificateurs universels et quantificateurs existentiels. SETL fournit aussi plusieurs itérateurs pour produire diverses boucles sur des structures de données. (fr) SETL (SET Language) is a very high-level programming language based on the mathematical theory of sets. It was originally developed by (Jack) Jacob T. Schwartz at the New York University (NYU) Courant Institute of Mathematical Sciences in the late 1960s. (en) SETL é uma linguagem de programação de "altíssimo nível", baseada na teoria matemática de conjuntos. Foi originalmente desenvolvida por Jacob Theodore Schwartz no Courant Institute of Mathematical Sciences na NYU no fim dos anos 1960. SETL fornece dois tipos básicos de dados agregados: conjuntos não-ordenados, e sequências (este último também chamado de tuplas). Os elementos dos conjuntos e tuplas podem ser de qualquer tipo arbitrário, incluindo conjuntos e tuplas eles mesmos. Mapeamentos (Maps) são fornecidos como conjuntos de pares (ou seja, tuplas de dimensão 2) e podem ter domínio arbitrário e tipos de intervalos arbitrários. Operações primitivas em SETL incluem pertinência de conjuntos, união, interseção e construção de conjuntos de potência, entre outras. A linguagem SETL fornece expressões booleanas quantificadas construídas utilizando-se quantificadores universais e quantificadores existênciais da lógica de primeira ordem. A linguagem SETL fornece diversos iterators para produzir uma variedade de sobre estruturas de dados agregados. Na década de 1970, SETL foi portada para o , e outros sistemas de informática russos. David Bacon, que antes era um estudante de PhD na NYU com ainda mantém ativamente o compilador SETL e seu website. (pt) Сетл (SETL; от англ. set language — язык множеств) — язык программирования, ориентированный на работу со множествами, разработанный в конце 1960-х годов группой профессора Нью-йоркского университета . Синтаксические конструкции языка содержат операции, позволяющие манипулировать со множествами — включение, исключение, проверка принадлежности, кванторы всеобщности и существования, итераторы, позволяющие обрабатывать каждый элемент множества и так далее. Кроме множеств, язык поддерживает работу с упорядоченными множествами — кортежами. Широкого распространения язык не получил, но был определённый всплеск популярности в 1970-е — 1980-е годы в Советском Союзе: во время визита в СССР в 1972 году Шварц сумел заинтересовать языком ряд разработчиков из Новосибирска, что положило начало нескольким годам сотрудничества между нью-йоркской и новосибирской группами программистов и математиков. В результате язык был реализован на БЭСМ-6, ЕС ЭВМ, , работы над языком продолжались до 1985—1989 годов, активно применялся в исследованиях по тематике искусственного интеллекта. Идеи Сетла заимствованы в учебном языке Рапира и языке Старсет (ИПС РАН, 1991). В США язык был реализован на машинах компании Burroughs. Использовался в ранних реализациях компилятора Ады. Во конце 1990-х годов в Нью-Йоркском университете создана вторая версия языка — SETL2, обратно совместимая с оригинальным вариантом. Ряд идей языка воплощены в современных языках программирования, среди них — прямой предшественник Python язык ABC. (ru) SETL(SET语言)是一种基于数学集合论的领域特定的高级编程语言。它最初由(Jack)Jacob T. Schwartz于二十世纪六十年代末在纽约大学科朗数学研究所开发。 (zh) |
dbo:designer | dbr:Jacob_T._Schwartz |
dbo:developer | dbr:Courant_Institute_of_Mathematical_Sciences |
dbo:influenced | dbr:ABC_(programming_language) dbr:ISETL dbr:SETL2 dbr:SETLX |
dbo:influencedBy | dbr:ALGOL_60 |
dbo:latestReleaseDate | 2005-01-07 (xsd:date) |
dbo:latestReleaseVersion | 1.1 |
dbo:wikiPageExternalLink | http://www.settheory.com http://www.softwarepreservation.org/projects/SETL |
dbo:wikiPageID | 916963 (xsd:integer) |
dbo:wikiPageLength | 6349 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1091006295 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Python_(programming_language) dbr:VAX dbr:Universal_quantifier dbr:Courant_Institute_of_Mathematical_Sciences dbr:Object-oriented_programming dbr:Multi-paradigm_programming_language dbr:Apollo_Computer dbr:Structured_programming dbc:Set_theoretic_programming_languages dbr:Type_system dbr:List_comprehension dbr:ABC_(programming_language) dbr:ALGOL_60 dbr:Ada_(programming_language) dbr:ES_EVM dbc:1969_introductions dbr:Discrete_mathematics dbr:Iterator dbr:Procedural_programming dbr:Guido_van_Rossum dbr:Jacob_T._Schwartz dbc:Academic_programming_languages dbr:Lambert_Meertens dbr:Sun_Microsystems dbr:BESM-6 dbr:New_York_University dbr:Set_theory dbr:Very_high-level_programming_language dbr:Imperative_programming dbr:IBM/370 dbr:First-order_predicate_logic dbr:ISETL dbr:SETL2 dbr:Existential_quantifier dbr:SETLX |
dbp:designer | Jacob T. Schwartz (en) |
dbp:developer | dbr:Courant_Institute_of_Mathematical_Sciences |
dbp:influenced | dbr:ABC_(programming_language) dbr:ISETL dbr:SETL2 dbr:SETLX |
dbp:influencedBy | dbr:ALGOL_60 |
dbp:latestReleaseDate | 2005-01-07 (xsd:date) |
dbp:latestReleaseVersion | 1.100000 (xsd:double) |
dbp:paradigm | dbr:Object-oriented_programming dbr:Multi-paradigm_programming_language dbr:Structured_programming dbr:Procedural_programming dbr:Imperative_programming |
dbp:typing | dbr:Type_system |
dbp:wikiPageUsesTemplate | dbt:Authority_control dbt:ISBN dbt:Infobox_programming_language dbt:More_citations_needed dbt:Official_website dbt:Redirect dbt:Reflist dbt:Short_description dbt:Start_date_and_age dbt:URL |
dbp:wordnet_type | http://www.w3.org/2006/03/wn/wn20/instances/synset-programming_language-noun-1 |
dct:subject | dbc:Set_theoretic_programming_languages dbc:1969_introductions dbc:Academic_programming_languages |
rdf:type | owl:Thing dbo:Language dbo:Software schema:Language wikidata:Q315 wikidata:Q9143 yago:Abstraction100002137 yago:ArtificialLanguage106894544 yago:Communication100033020 yago:Language106282651 yago:ProgrammingLanguage106898352 dbo:ProgrammingLanguage yago:WikicatProgrammingLanguages |
rdfs:comment | SETL (SET Language) is a very high-level programming language based on the mathematical theory of sets. It was originally developed by (Jack) Jacob T. Schwartz at the New York University (NYU) Courant Institute of Mathematical Sciences in the late 1960s. (en) SETL(SET语言)是一种基于数学集合论的领域特定的高级编程语言。它最初由(Jack)Jacob T. Schwartz于二十世纪六十年代末在纽约大学科朗数学研究所开发。 (zh) SETL (Set Language, engl. für Mengensprache) ist eine höhere Programmiersprache die auf der Mengenlehre der Mathematik aufbaut. Sie wurde 1969/70 von Jack T. Schwartz am Courant Institute of Mathematical Sciences of New York University entwickelt. Als fundamentale Datentypen kennt SETL Integer, Real, String, Boolean und den Nullwert Omega (om). Es gibt keine starke Typisierung, der Datentyp einer Variable wird je nach zugewiesenem Inhalt angepasst. Des Weiteren verfügt SETL über automatische Speicherbereinigung. (de) SETL est un langage de programmation de très haut niveau basé sur la théorie mathématique des ensembles. Il a été à l'origine développé près Jacob T. Schwartz au Courant Institute of Mathematical Sciences de la NYU. Il existe une variante nommée ISETL (de l'anglais Interactive SET Language) permettant de faire de la programmation sur des ensembles mathématiques. (fr) SETL é uma linguagem de programação de "altíssimo nível", baseada na teoria matemática de conjuntos. Foi originalmente desenvolvida por Jacob Theodore Schwartz no Courant Institute of Mathematical Sciences na NYU no fim dos anos 1960. A linguagem SETL fornece expressões booleanas quantificadas construídas utilizando-se quantificadores universais e quantificadores existênciais da lógica de primeira ordem. A linguagem SETL fornece diversos iterators para produzir uma variedade de sobre estruturas de dados agregados. (pt) Сетл (SETL; от англ. set language — язык множеств) — язык программирования, ориентированный на работу со множествами, разработанный в конце 1960-х годов группой профессора Нью-йоркского университета . Синтаксические конструкции языка содержат операции, позволяющие манипулировать со множествами — включение, исключение, проверка принадлежности, кванторы всеобщности и существования, итераторы, позволяющие обрабатывать каждый элемент множества и так далее. Кроме множеств, язык поддерживает работу с упорядоченными множествами — кортежами. (ru) |
rdfs:label | سيتل (لغة برمجة) (ar) SETL (de) SETL (fr) SETL (en) SETL (pt) Сетл (ru) SETL (zh) |
owl:sameAs | freebase:SETL freebase:SETL freebase:SETL freebase:SETL yago-res:SETL wikidata:SETL dbpedia-ar:SETL dbpedia-de:SETL dbpedia-fr:SETL dbpedia-kk:SETL dbpedia-pt:SETL dbpedia-ru:SETL dbpedia-vi:SETL dbpedia-zh:SETL https://global.dbpedia.org/id/261yV |
prov:wasDerivedFrom | wikipedia-en:SETL?oldid=1091006295&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:SETL |
is dbo:influencedBy of | dbr:Claire_(programming_language) dbr:ABC_(programming_language) dbr:Rapira |
is dbo:wikiPageRedirects of | dbr:ISETLW_programming_language dbr:ISETL_programming_language dbr:ISETLW dbr:ISETLW_(programming_language) dbr:ISETL_(programming_language) dbr:Setl dbr:SETL2_programming_language dbr:SETL_(programming_language) dbr:SETL_programming_language dbr:ISETL dbr:SETL2 |
is dbo:wikiPageWikiLink of | dbr:ProSet dbr:Python_(programming_language) dbr:Ron_Schnell dbr:List_of_Dutch_inventions_and_innovations dbr:Robert_Dewar dbr:Index_of_computing_articles dbr:List_of_programming_language_researchers dbr:List_of_programming_languages dbr:Courant_Institute_of_Mathematical_Sciences dbr:Generational_list_of_programming_languages dbr:Claire_(programming_language) dbr:Software_prototyping dbr:Timeline_of_programming_languages dbr:List_comprehension dbr:Set_theoretic_programming dbr:ABC_(programming_language) dbr:Ada_(programming_language) dbr:History_of_Python dbr:List_of_NYU_Courant_Institute_people dbr:List_of_New_York_University_faculty dbr:Relational_operator dbr:Guido_van_Rossum dbr:Jacob_T._Schwartz dbr:ISETLW_programming_language dbr:ISETL_programming_language dbr:Associative_array dbr:ISETLW dbr:ISETLW_(programming_language) dbr:ISETL_(programming_language) dbr:Rapira dbr:Semantics dbr:Setl dbr:SETL2_programming_language dbr:SETL_(programming_language) dbr:SETL_programming_language dbr:ISETL dbr:SETL2 |
is dbp:influencedBy of | dbr:ABC_(programming_language) dbr:Rapira |
is foaf:primaryTopic of | wikipedia-en:SETL |