Skip to content

Live Coding: Parser Kombinatoren in Haskell

Photo of Stefan Richter
Hosted By
Stefan R.
Live Coding: Parser Kombinatoren in Haskell

Details

Erstes Live-Coding Meetup: Parser Kombinatoren in Haskell

Parser sind allgegenwärtig; HTML-Seiten im Browser, JSON oder so manches kleines selbstdefinierte Format müssen für die Verarbeitung sinnvoll zerlegt und in Datenstrukturen abgebildet werden. Findet sich keine Bibliothek, die die Arbeit abnimmt, muss der Entwickler händisch einen Parser konstruieren.

Der Aufwand mit etablierten Werkzeugen wie Yacc oder Antlr ist enorm, so dass die Quick-and-Dirty Lösung über String-Operationen und/oder reguläre Ausdrücke oft nahe liegt ( http://stackoverflow.com/a/1732454). Kurzum, Verständlichkeit und Wartbarkeit leiden stark.

Parser Kombinatoren (engl. Parser combinators) schaffen Abhilfe!

Sie ermöglichen die Konstruktion von komplizierten Parsern durch Kombinierung von kleinen, einfachen Parsern. Besonders in der Haskell-Programmierung wird fast ausschließlich auf Parser Kombinatoren gesetzt. Die Konstruktion von Parsern über Kombinatoren ist hier so einfach, robust und präzise, dass die Versuchung Parser anders zu konstruieren gar nicht erst aufkommt.

Alex Biehl wird Konzept und Anwendung der Parser Kombinatoren grundlegend vorstellen. Anschließend wird Alex interaktiv einen JSON-Parser und eine eigene Parser Kombinator-Bibliothek am Beamer entwickeln.

Zeitplan

  1. Vorstellung Parser Kombinatoren (15 Minuten)

  2. Implementierung eines einfachen JSON-Parser mittels Primitiven aus 1. (Live coding, 30 Minuten)

  3. Implementierung der Kombinatoren (Live coding, 60 Minuten)

Photo of Hamburg Live Coding Meetup group
Hamburg Live Coding Meetup
See more events
freiheit.com technologies GmbH
Budapester Str. 45 · Hamburg