<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.xsl"?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-09-26T04:06:53Z</responseDate><request verb="GetRecord" identifier="oai:publikationen.uni-tuebingen.de:10900/132092" metadataPrefix="mets">https://publikationen.uni-tuebingen.de/oai/request</request><GetRecord><record><header><identifier>oai:publikationen.uni-tuebingen.de:10900/132092</identifier><datestamp>2022-09-28T01:02:02Z</datestamp><setSpec>com_10900_42126</setSpec><setSpec>col_10900_42133</setSpec></header><metadata><mets xmlns="http://www.loc.gov/METS/" xmlns:doc="http://www.lyncode.com/xoai" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.loc.gov/METS/ http://www.loc.gov/standards/mets/mets.xsd" PROFILE="DSpace METS SIP Profile 1.0" TYPE="DSpace ITEM" ID="&#xa;&#x9;&#x9;&#x9;&#x9;DSpace_ITEM_10900-132092" OBJID="&#xa;&#x9;&#x9;&#x9;&#x9;hdl:10900/132092">
<metsHdr CREATEDATE="2026-09-26T06:06:53Z">
<agent TYPE="ORGANIZATION" ROLE="CUSTODIAN">
<name>Publikationssystem UB Tuebingen</name>
</agent>
</metsHdr>
<dmdSec ID="DMD_10900_132092">
<mdWrap MDTYPE="MODS">
<xmlData xmlns:mods="http://www.loc.gov/mods/v3" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-1.xsd">
<mods:mods xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-1.xsd">
<mods:name>
<mods:role>
<mods:roleTerm type="text">advisor</mods:roleTerm>
</mods:role>
<mods:namePart>Ostermann, Klaus (Prof. Dr.)</mods:namePart>
</mods:name>
<mods:name>
<mods:role>
<mods:roleTerm type="text">author</mods:roleTerm>
</mods:role>
<mods:namePart>Jabs, Julian</mods:namePart>
</mods:name>
<mods:extension>
<mods:dateAccessioned encoding="iso8601">2022-09-27T14:12:51Z</mods:dateAccessioned>
</mods:extension>
<mods:extension>
<mods:dateAvailable encoding="iso8601"/>
</mods:extension>
<mods:originInfo>
<mods:dateIssued encoding="iso8601">2022-09-27</mods:dateIssued>
</mods:originInfo>
<mods:identifier type="uri">http://hdl.handle.net/10900/132092</mods:identifier>
<mods:abstract>In the theory of programming languages, duality is increasingly recognized&#xd;
as being important for improving economy, offering the theoretical development&#xd;
for one of two dual concepts "for free".&#xd;
Two prevalent dualities are the extensibility duality, related to the Expression Problem,&#xd;
and the De Morgan duality, related to evaluation strategies and control flow;&#xd;
for instance, a language which is symmetric with respect to the extensibility duality&#xd;
has both a facility which allows for easy extension with new variants,&#xd;
similar to how classes implement an interface in certain object-oriented languages,&#xd;
and a dual facility which allows for easy extension with new operations,&#xd;
as in functional programming with algebraic data types.&#xd;
However, this theoretical knowledge arguably has yet to be made more accessible to the practician.&#xd;
In particular, the design of programming languages does not yet really&#xd;
benefit from it in a systematic way.&#xd;
&#xd;
As a step to improve this situation, building on these prior results, the present work presents a prototype of&#xd;
a, in the conceptual sense rather economical, foundational system, in which the extensibility duality and the De Morgan duality are consolidated.&#xd;
In particular, the system is inherently highly symmetric with respect to both dualities&#xd;
and their consolidation quite naturally allows to carve out the essence&#xd;
of the extensibility duality, thereby further optimizing the meta-level economy.&#xd;
As will be demonstrated, this system can serve as a framework in which various language features known from&#xd;
practical programming languages can be recovered (by local syntactic abstractions,&#xd;
a.k.a. macros) and systematically compared,&#xd;
including algebraic data types and function types as known from functional programming,&#xd;
classes and objects, and exception handling, in combination&#xd;
with the evaluation strategies employed by the respective languages.&#xd;
This is intended to facilitate a systematic analysis&#xd;
of programming language concepts which may aid in the design of parsimonious languages&#xd;
which are symmetric with respect to one or both of the mentioned dualities.&#xd;
For the more short-term perspective, the system may also serve as a cornerstone&#xd;
for the systematic development of tools which automatically semantically compare (and convert between)&#xd;
programs in different languages by means of analyzing the results of embedding them into the framework.</mods:abstract>
<mods:abstract>In der theoretischen Betrachtung von Programmiersprachen wird Dualität&#xd;
als zunehmend wichtig für die Verbesserung der Ökonomie betrachtet,&#xd;
da diese ermöglicht, die Theorie-Entwicklung für eines von zwei dualen Konzepten&#xd;
"umsonst" zu erhalten.&#xd;
Zwei vorherrschende Dualitäten sind die Extensibilitäts-Dualität,&#xd;
die im Zusammenhang mit dem Expression Problem steht,&#xd;
und die De Morgan-Dualität, die im Zusammenhang mit Auswertungsstrategien&#xd;
und Kontrollfluss steht;&#xd;
zum Beispiel bietet eine Sprache, die symmetrisch in Bezug auf die Extensibilitäts-Dualität ist,&#xd;
sowohl ein Konstrukt, das die einfache Hinzufügung von neuen Varianten ermöglicht,&#xd;
ähnlich dazu wie in gewissen Objekt-Orientierten Sprachen Klassen ein Interface implementieren,&#xd;
als auch ein duales Konstrukt, das die einfache Hinzufügung von neuen Operationen ermöglicht,&#xd;
wie in der Funktionalen Programmierung mit algebraischen Datentypen.&#xd;
Dieses theoretische Wissen muss wohl allerdings dem Praktiker noch besser zugänglich gemacht werden.&#xd;
Insbesondere profitiert die Entwicklung von Programmiersprachen noch nicht&#xd;
wirklich auf eine systematische Weise davon.&#xd;
&#xd;
Als Schritt auf dem Weg dahin, diese Situation zu verbessern, präsentiert diese Arbeit,&#xd;
auf diesen bisherigen Resultaten aufbauend, ein grundlegendes, im konzeptuellen Sinne recht ökonomisches System, in dem&#xd;
die Extensibilitäts-Dualität und die De Morgan-Dualität miteinander vereinigt sind.&#xd;
Insbesondere ist dieses System inhärent höchst symmetrisch in Bezug auf beide Dualitäten&#xd;
und deren Vereinigung ermöglicht auf recht natürliche Weise die Essenz der&#xd;
Extensibilitäts-Dualität herauszuarbeiten, was die Ökonomie auf der Meta-Ebene&#xd;
weiter verbessert.&#xd;
Wie dargestellt werden wird, kann dieses System als Framework dienen, in dem&#xd;
sich verschiedene Sprach-Features aus in der Praxis relevanten Programmiersprachen&#xd;
darstellen lassen (durch lokale syntaktische Abstraktionen, auch bekannt als Macros)&#xd;
und in dem man diese vergleichen kann,&#xd;
wie etwa algebraische Datentypen und Funktionstypen, wie man sie aus der Funktionalen&#xd;
Programmierung kennt, Klassen und Objekte, sowie Exception-Handling,&#xd;
in Verbindung mit den Auswertungsstrategien die von den jeweiligen Sprachen&#xd;
verwendet werden.&#xd;
Dies soll dem Zweck dienen, eine systematische Analyse von Programmiersprachen-Konzepten&#xd;
zu ermöglichen, welche bei der Entwicklung von kompakten Sprachen helfen kann,&#xd;
die symmetrisch in Bezug auf eine oder beide der erwähnten Dualitäten sind.&#xd;
Für die kurzfristigere Perspektive bietet es das System auch als Grundstein für&#xd;
die systematische Entwicklung von Tools an, welche automatisch Programme in verschiedenen Sprache&#xd;
semantisch vergleichen (und ineinander umwandeln), indem sie die Ergebnisse von deren Einbettung in das Framework analysieren.</mods:abstract>
<mods:language>
<mods:languageTerm authority="rfc3066">en</mods:languageTerm>
</mods:language>
<mods:accessCondition type="useAndReproduction">ubt-podok</mods:accessCondition>
<mods:titleInfo>
<mods:title>A Dualities-Consolidating Framework to Support Systematic Programming Language Design</mods:title>
</mods:titleInfo>
<mods:genre>PhDThesis</mods:genre>
</mods:mods>
</xmlData>
</mdWrap>
</dmdSec>
<amdSec ID="FO_10900_132092_1">
<techMD ID="TECH_O_10900_132092_1">
<mdWrap MDTYPE="PREMIS">
<xmlData xmlns:premis="http://www.loc.gov/standards/premis" xsi:schemaLocation="http://www.loc.gov/standards/premis http://www.loc.gov/standards/premis/PREMIS-v1-0.xsd">
<premis:premis>
<premis:object>
<premis:objectIdentifier>
<premis:objectIdentifierType>URL</premis:objectIdentifierType>
<premis:objectIdentifierValue>https://publikationen.uni-tuebingen.de/xmlui/bitstream/10900/132092/1/Diss-JulianJabs.pdf</premis:objectIdentifierValue>
</premis:objectIdentifier>
<premis:objectCategory>File</premis:objectCategory>
<premis:objectCharacteristics>
<premis:fixity>
<premis:messageDigestAlgorithm>MD5</premis:messageDigestAlgorithm>
<premis:messageDigest>024f2d73fb227a416b57a9752f7dcce8</premis:messageDigest>
</premis:fixity>
<premis:size>1051042</premis:size>
<premis:format>
<premis:formatDesignation>
<premis:formatName>application/pdf</premis:formatName>
</premis:formatDesignation>
</premis:format>
</premis:objectCharacteristics>
<premis:originalName>Diss-JulianJabs.pdf</premis:originalName>
</premis:object>
</premis:premis>
</xmlData>
</mdWrap>
</techMD>
</amdSec>
<amdSec ID="FT_10900_132092_3">
<techMD ID="TECH_T_10900_132092_3">
<mdWrap MDTYPE="PREMIS">
<xmlData xmlns:premis="http://www.loc.gov/standards/premis" xsi:schemaLocation="http://www.loc.gov/standards/premis http://www.loc.gov/standards/premis/PREMIS-v1-0.xsd">
<premis:premis>
<premis:object>
<premis:objectIdentifier>
<premis:objectIdentifierType>URL</premis:objectIdentifierType>
<premis:objectIdentifierValue>https://publikationen.uni-tuebingen.de/xmlui/bitstream/10900/132092/3/Diss-JulianJabs.pdf.txt</premis:objectIdentifierValue>
</premis:objectIdentifier>
<premis:objectCategory>File</premis:objectCategory>
<premis:objectCharacteristics>
<premis:fixity>
<premis:messageDigestAlgorithm>MD5</premis:messageDigestAlgorithm>
<premis:messageDigest>450d269ab820848329187e91e0f7f90f</premis:messageDigest>
</premis:fixity>
<premis:size>506249</premis:size>
<premis:format>
<premis:formatDesignation>
<premis:formatName>text/plain</premis:formatName>
</premis:formatDesignation>
</premis:format>
</premis:objectCharacteristics>
<premis:originalName>Diss-JulianJabs.pdf.txt</premis:originalName>
</premis:object>
</premis:premis>
</xmlData>
</mdWrap>
</techMD>
</amdSec>
<fileSec>
<fileGrp USE="ORIGINAL">
<file ID="BITSTREAM_ORIGINAL_10900_132092_1" MIMETYPE="application/pdf" SEQ="1" SIZE="1051042" CHECKSUM="024f2d73fb227a416b57a9752f7dcce8" CHECKSUMTYPE="MD5" ADMID="FO_10900_132092_1" GROUPID="GROUP_BITSTREAM_10900_132092_1">
<FLocat xlink:type="simple" LOCTYPE="URL" xlink:href="https://publikationen.uni-tuebingen.de/xmlui/bitstream/10900/132092/1/Diss-JulianJabs.pdf"/>
</file>
</fileGrp>
<fileGrp USE="TEXT">
<file ID="BITSTREAM_TEXT_10900_132092_3" MIMETYPE="text/plain" SEQ="3" SIZE="506249" CHECKSUM="450d269ab820848329187e91e0f7f90f" CHECKSUMTYPE="MD5" ADMID="FT_10900_132092_3" GROUPID="GROUP_BITSTREAM_10900_132092_3">
<FLocat xlink:type="simple" LOCTYPE="URL" xlink:href="https://publikationen.uni-tuebingen.de/xmlui/bitstream/10900/132092/3/Diss-JulianJabs.pdf.txt"/>
</file>
</fileGrp>
</fileSec>
<structMap TYPE="LOGICAL" LABEL="DSpace Object">
<div TYPE="DSpace Object Contents" ADMID="DMD_10900_132092">
<div TYPE="DSpace BITSTREAM">
<fptr FILEID="BITSTREAM_ORIGINAL_10900_132092_1"/>
</div>
</div>
</structMap>
</mets></metadata></record></GetRecord></OAI-PMH>