Clojure und core.logic

JUGS LogoSpeaker portrait

Eine Einführung und Anwendungsbeispiele für logische Programmierung

Moderne Informationssysteme werden immer komplexer. Die korrekte Abbildung dieser Komplexität fordert dem Programmierer alles ab. Der Industriestandard Imperative Programmierung mit Unittests stösst hier zunehmen an seine Grenzen: Imperative Programmierung erfordert die Abbildung des "Was soll das Programm tun" durch ein "Wie soll das Programm etwas tun" und vermischt somit funktionale und nicht-funktionale Aspekte. Unittests sind ein Hilfsmittel, um Aussagen über die Korrektheit zu treffen, stossen aber für Java als Ausprägung einer "von Neumann" Sprache an ihre Grenzen. Logische Programmierung versucht diese Grenzen aufzubrechen und bietet dem Programmierer Werkzeuge für formal verifizierbare und sehr kompakt beschreibbare Lösungen.

Wir zeigen anhand der Programmiersprache Clojure sowie der Bibliothek logic.core die Grundprinzipien logischer Programmierung für bekannte Beispiele (n-Damen Problem, Sudoku). Anschliessend wagen wir einen Ausblick in die Anwendung logischer Programmierung für alltägliche und weniger alltägliche Probleme in der Industrie.

Dieser Vortrag wird zusammen mit der Zürich Clojure User Group durchgeführt.

SPEAKER Christian Meichsner, XELOG AG

LEVEL OF TALK Intermediate
LANGUAGE Talk: de / Slides: en

Please register on the JUG website

Open in Google Maps