Scala 3: Typ-Lambdas

Nach 8 Jahren, 28000 Commits und 7400 Pull-Requests war es am 14. Mai 2021 endlich so weit: Scala 3 wurde veröffentlicht. Neben dem neuen Compiler „Dotty“ haben es eine neue Syntax sowie einige Neuerungen an der Sprache in Scala 3 geschafft. In diesem Blogpost der Serie über interessante Neuerungen werden wir über Typ-Lambdas sprechen.

Weiterlesen...

Higher-Kinded Data für Konfigurationen in Haskell

Viele Anwendungen verwenden Konfigurationen, um ihr Verhalten zur Laufzeit zu beeinflussen. Die Parameter in diesen Konfigurationen können z. B. Standardwerte haben, die verwendet werden falls nichts anderes angegeben wird. Andere Werte, wie Passwörter, haben keine Standardwerte und müssen deshalb immer beim Start der Anwendung angegeben werden.

In diesem Artikel werden wir über mehrere Iterationen sehen, wie wir mit Higher-Kinded Data in Haskell, Konfigurationen in unseren Programmen abbilden können.

Weiterlesen...

Komponierbare Komponenten

Dieser Artikel stellt ein Modell für wirklich komponierbare Webkomponenten vor, aufbauend auf der beliebten Bibliothek React. Komponierbarkeit ist ein Schlüssel zu guter Testbarkeit und maximal wiederverwendbarem Code in der funktionalen Programmierung. Grundkenntnisse in JavaScript und React werden vorausgesetzt.

Weiterlesen...

Pretty-Printing II - Laziness FTW

Um ein (verschachteltes) Objekt komfortabel untersuchen zu können, wird eine gute Darstellung desselben in Form von Text benötigt. Pretty-Printer versuchen genau das: Dinge so auf den Bildschirm zu drucken, dass die interne Struktur auf einen Blick ersichtlich ist.

Im letzten Blogpost Aufgehübscht! - Pretty-Printing haben wir uns den Pretty Printer von Philip Wadlers Paper „A prettier printer“ (1997) angeschaut und verstanden, wie wir allein mit seinen sechs Operatoren eine Dokumentensprache beschreiben und damit schöne Pretty-Prints erstellen können. In diesem Post wollen wir uns die eigentliche Implementierung ansehen und verstehen, warum – trotz der Erzeugung von vielen möglichen Layouts – der Algorithmus sehr effizient ist.

Weiterlesen...

Funktionale Programmierung in der Praxis: Validierung mit applikativen Funktoren

Unser erster Artikel in der Reihe „Funktionale Programmierung in der Praxis“ mit dem Thema Datenvalidierung mit applikativen Funktoren.

Weiterlesen...