Das wird heiß

Makarius

Programm für das erste Treffen am 23. April 2015

Gepostet am 20. Apr 15 von Tim Baumann

Monadische Parserkombinatoren (Ingo Blechschmidt)

Parserkombinatoren sind ein beliebter Ansatz zur Programmierung von Parsern in funktionalen Sprachen. Anstatt Grammatiken in speziellen eingeschränkten Sprachen beschreiben zu müssen, steht dabei die volle Ausdrucksfähigkeit einer funktionalen Hochsprache zur Verfügung. Ausgehend von einigen Grundbausteinen kann man mit Kombinatoren beliebig komplexe Parser zusammenstellen. Dabei ergibt sich auf natürliche Art und Weise eine Monade.

Beim Treffen werden wir unsere eigene kleine naive Kombinatorenbibliothek implementieren, Beispiele für ihren Einsatz durchspielen und diskutieren, was zu professionellen Lösungen noch fehlt. Wer Haskell einsetzt, kann danach zum Beispiel das beliebte Parsec verwenden.

[Folien und Code auf Github]

Vorkenntnisse: grundlegende Vertrautheit in funktionaler Programmierung. Monaden muss man noch nicht kennen.

Typsicheres Routing in Haskell (Tim Baumann)

Routing ist die große Fallunterscheidung über die URL, die in einer Webapplikation dafür sorgt, dass jede Anfrage eine passende Antwort erhält. Eine Forderung an gute Webframeworks ist, dass sie sichergestellen, dass Links immer aktuell bleiben. Das heißt, (interne) Links sollen immer auf eine Adresse verweisen, die vom Routing-Code erkannt wird. Ich werde einen Überblick über verschiedene Lösungsansätze geben und und dann das Routing-System von Spock genauer erklären. Dabei werden wir sehen, warum Listen auf Typlevel ein sehr nützliches Werkzeug sind.

[Beispielwebseite und Code auf Github]

Voraussetzungen: Oranger Gürtel in Haskell, insbesondere sind Kenntnisse des Kindsystems nützlich. Monaden werden nur am Rande vorkommen.