Kapitel 18. Erweiterte funktionale Programmierung
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Kehren wir zur funktionalen Programmierung (FP) zurück und besprechen einige fortgeschrittenere Konzepte. Du kannst dieses Kapitel überspringen, wenn du ein Anfänger bist, aber kommst darauf zurück, wenn du Begriffe wie algebraische Datentypen, Kategorientheorie, Funktoren, Monaden, Halbgruppen und Monoide hörst.
Das Ziel ist es, dir ein Gefühl dafür zu geben, was diese Konzepte sind und warum sie nützlich sind, ohne dich in zu viel Theorie und Notation zu verzetteln.
Algebraische Datentypen
Es gibt zwei gängige Verwendungen für das Akronym ADT: abstrakte Datentypen und algebraische Datentypen. Abstrakte Datentypen sind aus der objektorientierten Programmierung (OOP) bekannt. Ein Beispiel ist Seq
, eine Abstraktion für alle sequentiellen Sammlungen in der Bibliothek.
Im Gegensatz dazu sind algebraische Datentypen, für die wir von nun an ADT verwenden werden, algebraisch in dem Sinne, dass sie wohldefinierten mathematischen Eigenschaften gehorchen. Das ist wichtig, denn wenn wir Eigenschaften unserer Typen beweisen können, erhöht das unser Vertrauen, dass sie fehlerfrei sind.
Summenarten versus Produktarten
Scala-Typen werden in Summen-Typen und Produkt-Typen unterteilt. Die Namen Summe und Produkt sind mit der Anzahl der möglichen Instanzen eines bestimmten Typs verbunden.
Die meisten der Klassen, ...
Get Scala programmieren, 3. Auflage now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.