i

Abstraktionstechniken und Ausdrucksreduktion

Worum geht es in diesem Kapitel?

In diesem Kapitel wird als eine vertiefende Ergänzung aufgezeigt, wie sich durch Currying Funktionen, die mehrere Übergabedaten erhalten, in eine Kette von Funktionen zerlegen lassen, die jeweils genau ein Übergabedatum akzeptieren. Durch die daraus entstehende Modularität kann durch partielle Funktionsanwendungen eine hohe Wiederverwertbarkeit von Funktionen erreicht werden.

Zudem wird ein Blick auf den Auswertungsprozess von Ausdrücken in Racket geworfen. Mithilfe eines von Racket bereitgestellten Steppers wird die Reduktion von Ausdrücken Schritt für Schritt nachvollzogen. Dabei werden mit Eager und Lazy Evaluation zwei gängige Reduktionsstrategien miteinander verglichen.

Abschließend wird durch die Behandlung des Lambda-Kalküls die formale Grundlage der funktionalen Programmierung aufgezeigt. Dabei werden mit Variablen, Abstraktionen und Applikationen die drei formalen Grundbausteine einer Funktion und deren Anwendung aufgezeigt. Durch die Beta-Reduktion wird zudem die Reduktion von Ausdrücken auf ein formales Niveau gehoben. Sowohl im Aufbau als auch in der Auswertung wird ein direkter Bezug zu Racket hergestellt, um die enge Verbindung zwischen dem Lambda-Kalkül als theoretisches Modell und dessen praktischer Umsetzung in einer funktionalen Programmiersprache aufzuzeigen.

Suche

v
100.137.5 Abstraktionstechniken und Ausdrucksreduktion
Kopieren durch Anklicken

Rückmeldung geben