Please use this identifier to cite or link to this item: http://dx.doi.org/10.14279/depositonce-286
Main Title: Zur Kontextanalyse einer algebraischen Programmiersprache
Translated Title: About the context analysis of an algebraic programming language
Author(s): Maeder, Christian
Advisor(s): Pepper, Peter
Granting Institution: Technische Universität Berlin, Fakultät IV - Elektrotechnik und Informatik
Type: Doctoral Thesis
Language: German
Language Code: de
Abstract: Algebraische Spezifikationen wurden theoretisch gut untersucht, doch für verschiedene Entwürfe von konkreten Spezifikations- oder Programmiersprachen erwies sich die Notation von Instanzen für parametrisierte Strukturen als umständlich. Inzwischen hat sich dafür eine Listennotation durchgesetzt, bei der aktuelle und formale Parameter per Position zugeordnet werden. In einigen Sprachen wurden explizite Instanziierungen reduziert, indem parametrisierte Namen generisch importiert werden können und die Kontextanalyse die fehlende Information aus dem Anwendungskontext inferiert. Der Sprachentwurf orientiert sich insoweit an Analysealgorithmen. Der Entwurf von ML mit streng getypten polymorphen Funktionen höherer Ordnung wurde geprägt durch den Hindley-Milner-Algorithmus W zur Typinferenz. Der ursprüngliche Entwurf von PASCAL war durch die effiziente One-Pass-Technik auf so genannte lineare Sichtbarkeit beschränkt. Diese gilt immer noch für fast alle algebraischen Sprachen (PVS, LPG und CASL), aber nicht für moderne Programmiersprachen wie JAVA (objektorientiert) oder HASKELL (funktional). Der Entwurf von OPAL ist daher herausragend: Deklarationen können in beliebiger Reihenfolge notiert werden und sind im ganzen Modul sichtbar; unabhängig davon ist die Reihenfolge formaler Parameter. Für die algebraische Typanalyse werden in dieser Arbeit die klassische polymorphe Typinferenz und Überlagerungsauflösung zu einem Algorithmus Wo verschmolzen. Es stellt sich heraus, dass dieselbe Art der Analyse für die Identifikation von überlagerten und generischen Namen benötigt wird. Dafür müssen einfache Typterme zu Namenstermen verallgemeinert werden; die Namen stehen für deklarierte Typen und Funktionen, die sowohl die Parametersignatur als auch die Gesamtsignatur einer Struktur etablieren. Durch den hier entwickelten Algorithmus I für die Namensidentifikation entsteht eine Parallele zur Typanalyse, die über die aus HASKELL bekannte Analogie für die Konstruktorapplikation von Typen und Ausdrücken hinausgeht. Instanziierung ist Applikation und zwar insbesondere für Funktionsparameter. Dadurch werden die klassische ML-Polymorphie und Funktionen höherer Ordnung zu Teilaspekten der universelleren Generizität durch Parametrisierung. Den Kern der Namensidentifikation I bilden die um Funktionen erweiterten Namensterme. Die konsequente Gleichberechtigung von Typen und Funktionen unterstützt Funktionsparameter, die andere Funktionsparameter enthalten können; diese sind beispielsweise für die Zusicherung von Eigenschaften geeignet. Der induktive Aufbau der Namen erlaubt die inkrementelle Konstruktion eines Namensraums unabhängig von der textuellen Reihenfolge. Für einen erweiterten und unverändert schlanken Sprachentwurf werden implizite Parameter vorgeschlagen, die Parameterlisten verkürzen, sowie sich wechselseitig importierende Strukturen und polymorphe Rekursion.
URI: urn:nbn:de:kobv:83-opus-1888
http://depositonce.tu-berlin.de/handle/11303/583
http://dx.doi.org/10.14279/depositonce-286
Exam Date: 28-Jun-2001
Issue Date: 8-Aug-2001
Date Available: 8-Aug-2001
DDC Class: 004 Datenverarbeitung; Informatik
Subject(s): Typinferenz
Ad-hoc-Polymorphie
Überlagerungsauflösung
Parametrisierung
Namensidentifikation
Namensraum
Type Inference
Ad-hoc Polymorphism
Overload Resolution
Parameterization
Name Identification
Namespace
Usage rights: Terms of German Copyright Law
Appears in Collections:Fakultät 4 Elektrotechnik und Informatik » Publications

Files in This Item:
File Description SizeFormat 
Dokument_43.pdf865.12 kBAdobe PDFThumbnail
View/Open


Items in DepositOnce are protected by copyright, with all rights reserved, unless otherwise indicated.