Fully-parameterized, first-class modules with hygienic macros

DSpace Repositorium (Manakin basiert)


Dateien:

Zitierfähiger Link (URI): http://nbn-resolving.de/urn:nbn:de:bsz:21-opus-24239
http://hdl.handle.net/10900/48950
Dokumentart: Dissertation
Erscheinungsdatum: 2006
Sprache: Englisch
Fakultät: 7 Mathematisch-Naturwissenschaftliche Fakultät
Fachbereich: Sonstige - Informations- und Kognitionswissenschaften
Gutachter: Klaeren, Herbert
Tag der mündl. Prüfung: 2006-02-15
DDC-Klassifikation: 004 - Informatik
Schlagworte: Modul <Software> , Funktionale Programmierung
Freie Schlagwörter: Hygienische Makros , Operationelle Semantik
hygienic macros , operational semantics
Lizenz: http://tobias-lib.uni-tuebingen.de/doku/lic_mit_pod.php?la=de http://tobias-lib.uni-tuebingen.de/doku/lic_mit_pod.php?la=en
Gedruckte Kopie bestellen: Print-on-Demand
Zur Langanzeige

Inhaltszusammenfassung:

Es ist möglich, eine formale Semantik anzugeben, welche die Phasen Konfiguration, syntaktische Analyse mit Makroexpansion, Linken und Auswertung für ein vollparametrisiertes Modulsystem mit Modulen als Werten erster Klasse, unabhängiger Übersetzung und Code-Sharing beschreibt. Diese Dissertation beschreibt eine solche Semantik. Dabei formalisieren explizite Substitutionen die hygienische Makroexpansion und das Linken. Im Modulsystem beschreiben Schnittstellen die statische Semantik von Modulen und enthalten die Definitionen der exportierten Makros. Dies ermöglicht volle Parametrisierung und unabhängige Übersetzung sogar in Kombination mit Makros. Module sind damit echte austauschbare Komponenten eines Programms. Die Grundlage für das Modulsystem bildet eine operationelle Semantik für hygienische Makroexpansion die berechnende Makros ebenso beschreibt wie regelbasierte Makros. Durch die Verwendung expliziter Substitutionen anstelle konventioneller Umbenennung gibt die Semantik für Makroexpansion tiefe Einblicke in das Wesen hygienischer Makroexpansion. Die Semantik beschreibt außerdem Makro Scheme, die Metasprache für die berechnenden Makros.

Abstract:

It is possible to define a formal semantics for configuration, elaboration, linking, and evaluation of fully-parameterized first-class modules with hygienic macros, independent compilation, and code sharing. This dissertation defines such a semantics making use of explicit substitution to formalize hygienic expansion and linking. In the module system, interfaces define the static semantics of modules and include the definitions of exported macros. This enables full parameterization and independent compilation of modules even in the presence of macros. Thus modules are truly exchangeable components of the program. The basis for the module system is an operational semantics for hygienic macro expansion - computational macros as well as rewriting-based macros. The macro semantics provides deep insight into the nature of hygienic macro expansion through the use of explicit substitutions instead of conventional renaming techniques. The semantics also includes the formal description of Macro Scheme, the meta-language used for evaluating computational macros.

Das Dokument erscheint in: