Von Java zu Haskell
Anhänger der funktionalen Programmierung sprechen gern von "Immutability", "polymorphen Typen" und "Monaden", meist begleitet von grandiosen, aber luftigen Metaphern. Aber wie sollen sich Java-Programmierer vorstellen, wofür diese Dinge in einer realistischen Anwendung konkret gut sind oder wie sie eingesetzt werden?
Der Vortrag präsentiert ein kleines, aber realistisches Java-Projekt - einen ereignisorientierten Simulator ("discrete event simulator") aus dem Kontext der Produktionssteuerung. Dann zeigt er, wie der Java-Code zunächst nach Haskell übersetzt und dann noch weiter verbessert werden kann. (Das Original wurde von Simulations-Experten geschrieben, die keine Haskell-Programmierer sind.) Aus dem Vorgang ergeben sich dann konkrete Einsichten darüber, was die "Immutability" ausmacht, was man mit dem Haskell-Typsystem so ausrichten kann und wofür Monaden gut sind.






















