Books & Videos

Table of Contents

  1. Chapter 1 Hinein ins Vergnügen

    1. Warum funktionale Programmierung?

    2. JavaScript

    3. Funktionale Sprachelemente und Konzepte

    4. Unterscheidungsmerkmale von Programmiersprachen

    5. JavaScript im Vergleich mit anderen Programmiersprachen: Ist das Java?

    6. Aufbruch in die Welt der funktionalen Programmierung und der Gewürze

    7. Rezeptor: Über hundert Curry-Gerichte, funktional und automatisch erstellt

  2. Chapter 2 Abstraktionen

    1. Modellierung: Theorie und Praxis

    2. Abstraktion von einem Wert: Variablen

    3. Abstraktion von einem Codeblock: Funktionen

    4. Abstraktion von einer Funktion: Funktionen höherer Ordnung

  3. Chapter 3 Ein Topf mit Curry

    1. Präfix, Infix, Stelligkeit

    2. Teilweise Funktionsanwendung

    3. Automatische Curryfizierung

    4. Implizite Argumente, Komposition und Point-Free-Style

  4. Chapter 4 Gemüse, Map, Reduce und Filter

    1. Auberginen und die Funktionen höherer Ordnung

    2. Weitere Funktionen höherer Ordnung: Map, Reduce, Filter und Kolleginnen

    3. Parallele Berechnung auf Arrays mit Map

    4. Kombinieren von Lösungen mit Reduce

    5. Auswählen von Lösungen mit Filter

    6. Zusammenhang zwischen Reduce und Map

    7. Verallgemeinerung der Funktionen höherer Ordnung auf Arrays

  5. Chapter 5 Rekursion

    1. Vom Problem zum Programm: Spezifikation, Ein- und Ausgabe

    2. Rekursive Funktionen

    3. Strukturelle Rekursion auf Listen

    4. Strukturelle Rekursion auf Bäumen

  6. Chapter 6 Event-basierte Programmierung und Continuations

    1. Event-basierte Programmierung

    2. Continuations

  7. Chapter 7 Vom Lambda-Kalkül und Lammcurry

    1. Ausdrücke im Lambda-Kalkül

    2. Reduktion

    3. Substitution

    4. Wohlgeformte Ausdrücke

    5. Gleichheit von Ausdrücken – Äquivalenz

    6. Auswertungsstrategien und Normalformen

    7. Repräsentation von Daten im Lambda-Kalkül

  8. Chapter 8 Typen

    1. Typisierung und Typüberprüfung

    2. JavaScript ist dynamisch typisiert

    3. JavaScript ist schwach typisiert

    4. Vorsicht beim Umgang mit Typen in JavaScript

    5. Primitive Datentypen

    6. Arrays

    7. Undefined und Null

    8. Primitive Datentypen versus Objekte

    9. Polymorphismus

    10. JavaScript: Polymorphismus durch Prototypen

    11. Quellen der Verwirrung durch das Typsystem

    12. Stärkere Typen für JavaScript

    13. Fazit zu JavaScripts Typsystem

  9. Chapter 9 Kochen als Monade

    1. Ein programmierbares Semikolon

    2. Monaden als Behälter: Dinge, Kochtöpfe und Monaden

    3. Das Monaden-Muster

    4. Monaden links, Monaden rechts, Monaden überall

    5. Zusammenhang zwischen Continuation-Passing-Style und Monaden

    6. Warum das Ganze?

    7. Weblinks und weiterführendes Material

  10. Chapter 10 Nachtisch und Resteessen

    1. Eigenheiten der Sprache JavaScript

    2. Konzepte der funktionalen Programmierung

    3. Funktionale Bibliotheken

    4. Sprachen, die JavaScript verbessern wollen

    5. Die Welt der funktionalen Sprachen abseits von JavaScript

  1. Appendix Link- und Literaturliste

    1. : Hinein ins Vergnügen

    2. : Abstraktion

    3. : Ein Topf mit Curry

    4. : Gemüse, Map, Reduce und Filter

    5. : Rekursion

    6. : Event-basierte Programmierung und Continuations

    7. : Vom Lambda-Kalkül und Lammcurry

    8. : Typen

    9. : Kochen als Monade

    10. : Nachtisch und Resteessen

  2. Appendix Über die Autorin und die Autoren

  3. Kolophon