Fully-parameterized, first-class modules with hygienic macros

DSpace Repository


Dateien:
Aufrufstatistik

URI: http://nbn-resolving.de/urn:nbn:de:bsz:21-opus-24239
http://hdl.handle.net/10900/48950
Dokumentart: Dissertation
Date: 2006
Language: English
Faculty: 7 Mathematisch-Naturwissenschaftliche Fakultät
Department: Sonstige - Informations- und Kognitionswissenschaften
Advisor: Klaeren, Herbert
Day of Oral Examination: 2006-02-15
DDC Classifikation: 004 - Data processing and computer science
Keywords: Modul <Software> , Funktionale Programmierung
Other Keywords: Hygienische Makros , Operationelle Semantik
hygienic macros , operational semantics
License: Publishing license including print on demand
Order a printed copy: Print-on-Demand
Show full item record

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.

This item appears in the following Collection(s)