Programm für das dritte Treffen am 18. Juni 2015
Lars stellt Leon vor, ein Tool zur Programmverifikation und -synthese speziell für Scala. „Leon ist interessant, weil es interaktiv ist, d.h. es gibt schnell Feedback, und man braucht nicht viel über Logik zu wissen.“
Ingo macht eine Einführung in die Kategorientheorie:
Die Sprache der Kategorien hat sich in mehreren Teilgebieten der Mathematik, Informatik und Physik als Lingua franca etabliert. Sowohl von Fans als auch von Spöttern wird Kategorientheorie als “verallgemeinerter abstrakter Nonsens” tituliert; kategorielle Konzepte und konkrete Ausprägungen allgemeiner kategorieller Beobachtungen finden sich überall.
Für (nicht nur) funktionale Programmierung hilft Kategorientheorie um wiederkehrende Muster zu erkennen und auszunutzen, um elegante Theorien von Datentypen zu entwickeln und um die Semantik von Sprachen zu beschreiben. Außerdem benötigt man Kategorientheorie natürlich um Edward Kmetts Arbeiten zu Kan-Erweiterungen und anderen kategoriellen Konzepten in Haskell zu würdigen; aufgrund einer wunderbaren Fügung sind seine Pakete Abhängigkeiten von so profanen Dingen wie Web-Frameworks.
Der Vortrag wird in die erste Stufe von Kategorientheorie einführen: Kategorien, universelle Eigenschaften und Dualität. Wenn die Stimmung gut ist, sprechen wir auch noch über Funktoren. Bei diesem ersten Vortrag werden wir aber – wenn nicht explizit anders gewünscht – nicht über natürliche Transformation oder weiterführende Konzepte wie Limiten, Kolimiten, adjungierte Funktoren, Kan-Erweiterungen oder das Yoneda-Lemma sprechen.
Richard hält einen Vortrag über Logikprogrammierung im Allgemeinen und insbesondere die Umsetzung dieses Konzeptes in der Programmiersprache Prolog. Dabei werden folgende Fragen beantwortet: Was ist Logikprogrammierung überhaupt und warum will man das machen? Kann man damit auch seriöse Anwendungsentwicklung betreiben?
Es gibt den Plan, danach im Sangam gemeinsam Essen zu gehen.