Hinze | Einführung in die funktionale Programmierung mit Miranda | Buch | 978-3-519-02287-9 | www.sack.de

Buch, Deutsch, 347 Seiten, Format (B × H): 170 mm x 244 mm, Gewicht: 628 g

Hinze

Einführung in die funktionale Programmierung mit Miranda


1992
ISBN: 978-3-519-02287-9
Verlag: Vieweg+Teubner Verlag

Buch, Deutsch, 347 Seiten, Format (B × H): 170 mm x 244 mm, Gewicht: 628 g

ISBN: 978-3-519-02287-9
Verlag: Vieweg+Teubner Verlag


MIRA. You have often Begun to tell me what I am; but stopp 'd, And teft me to a bootless inquisition, Concluding, Stay; not yet. ' PRO. The how"'" now come ,. The very minute bids thee ope thine car. "The Tempest" von William Shakespeare (Akt 1, S:;cnc 1) Das vorliegende Buch ist aus Begleitmaterialien zu einem Programmierkurs entstanden, den ich im Sommersemester 1991 an der Universität Bonn gehalten habe. Es beschreibt grundlegende und weiterführende Kom;epte der funktionalen l Programmierung und der Programmiersprache Miranda. Eine rein funktionale Sprache wie Miranda ist aus mindestens drei Gründen eine interessante und faszinierende Alternative sowohl zu herkömmlichen, impera­ tiven Sprachen als auch zu hybriden Sprachen wie LISP oder Scheme, die neben einem funktionalen Kern viele imperative Konstrukte inkorporieren. 1. Funktionale Programme sind kürzer, einfacher zu verstehen und besitzen ei­ nen höheren Abstraktionsgrad als korrespondierende imperative Programme. 2. Sie sind einer mathematischen Behandlung einfacher zugänglich. 3. Die angenehmen mathematischen Eigenschaften (Funktionen sind Funktio­ nen im mathematischen Sinn) erleichtern eine Implementierung auf paralle­ len Rechnerarchitekturen. Insbesondere der letzte Punkt eröffnet für die Zukunft vielversprechende Perspek­ tiven. Miranda verkörpert die Tugenden funktionaler Sprachen in besonderer Weise. Die Syntax ist prägnant und frei von syntaktischem Ballast. Funktionen wie Typen werden mittels (rekursiver) Gleichungen definiert. Muster auf der linken Seite von Funktionsdefinitionen fördern die Lesbarkeit der Definitionen.

Hinze Einführung in die funktionale Programmierung mit Miranda jetzt bestellen!

Zielgruppe


Upper undergraduate

Weitere Infos & Material


1 Einleitung.- 1.1 Eigenschaften funktionaler Sprachen.- 1.2 Überblick über Miranda.- 1.3 Warum nicht LISP oder Scheme?.- 1.4 Literaturhinweise.- 2 Vordefinierte Typen.- 2.1 Der Typ num.- 2.2 Der Typ bool.- 2.3 Der Typ char.- 2.4 Tupeltypen.- 2.5 Listentypen.- 2.6 Funktionale Typen.- 2.7 Miranda-System.- 2.8 Syntax.- 3 Definitionen.- 3.1 Skalare Definitionen.- 3.2 Konforme Definitionen.- 3.3 Lokale Definitionen.- 3.4 Syntax.- 4 Typsystem.- 4.1 Parametrisierter Typpolymorphismus.- 4.2 Typinferenz.- 4.3 Wertespezifikationen.- 4.4 Typsynonyme.- 4.5 Die generische Funktion show.- 4.6 Literaturhinweise.- 4.7 Syntax.- 5 Funktionen höherer Ordnung.- 5.1 Partiell parametrisierte Funktionen.- 5.2 Operator-Sections.- 5.3 Generische Funktionen.- 5.4 Funktionen als Datenstrukturen.- 5.5 Implementierung von Rekursionsmustern.- 5.6 Literaturhinweise.- 5.7 Syntax.- 6 List-Comprehensions.- 6.1 Einfache List-Comprehensions.- 6.2 Iterative Generatoren.- 6.3 Diagonalisierende List-Comprehensions.- 6.4 Syntax.- 7 Benutzerdefinierte Typen.- 7.1 Algebraische Datentypen.- 7.2 Abstrakte Datentypen.- 7.3 Platzhaltertypen.- 7.4 Literaturhinweise.- 7.5 Syntax.- 8 Lazy Evaluation.- 8.1 Eager Evaluation versus Lazy Evaluation.- 8.2 Nichtstrikte Funktionen.- 8.3 Backtracking-Probleme.- 8.4 Kombinator-Parsing.- 8.5 Von Prolog zu Miranda.- 8.6 Unendliche Datenstrukturen.- 8.7 Programmierung mit Unbekannten.- 8.8 Steuerung der Auswertung.- 8.9 Literaturhinweise.- 9 Programmierung im Großen.- 9.1 %include- und %export-Direktive.- 9.2 Parametrisierte Module.- 9.3 Software-Engineering.- 9.4 Programmierrichtlinien für Miranda.- 9.5 Literaturhinweise.- 9.6 Syntax.- 10 Interaktive Programme.- 10.1 Eingabe.- 10.2 Interpretierte Eingabe.- 10.3 Ausgabe.- 10.4 Einbindung in UNIX.- 10.5 FortsetzungsbasierteEin- und Ausgabe.- 10.6 Literaturhinweise.- A Kleine Projekte.- A.1 Taschenrechner.- A.2 Datenbank.- A.3 KWIC-Index.- A.4 Textformatierung.- B Blaise-Compiler.- B.1 Ziel des Projektes.- B.2 Projektbeschreibung.- B.2.1 Definition von Blaise.- B.2.2 Definition der Zielmaschine.- B.2.3 Programmierumgebung.- B.3 Projektorganisation.- B.3.1 Gruppe 1: Lexikalische Analyse und Symboltabelle.- B.3.2 Gruppe 2: Syntaktische Analyse.- B.3.3 Gruppe 3: Codeerzeugung.- B.3.4 Gruppe 4: Interpreter und Programmierumgebung.- Literatur.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.