\ifger{Ein Haskeller könnte behaupten: Haskell...}{A Haskeller might claim: haskell...} \begin{itemizep} \item \ifger{eliminiert eine ganze Klasse von bugs}{eliminates certain classes of bugs} \item \ifger{weist schlechte Programme nicht nur zurück, sondern definiert auch was ein schlechtes Programm ausmacht}{not only disallows bad programs, but also defines what constitutes a bad program} \item \ifger{macht es einfach Schlussfolgerungen innerhalb von Programmen zu ziehen}{makes it easy to reason about code} \item \ifger{verringert den Bus-Faktor}{decreases the bus-factor} \item \ifger{erlaubt es tiefgreifende Änderungen an Programmen zu machen ohne sich über den impliziten Zustandsautomaten Gedanken zu machen}{makes it possible to apply huge changes to large programs without worrying about the implicit state machine} \item \ifger{macht es einfacher komplexe Probleme zu lösen}{makes it easier to solve complex problems} \item \ifger{erlaubt saubere APIs, sogar ohne OOP}{allows for clean APIs, even without any OOP} \item \ifger{ein Haskell Programm mit 10k LOC ist von der Wartung her nicht anders als 100k LOC}{a haskell program of 10K LOC isn't that much different to maintain as a 100K LOC} \item \ifger{Refactoring in Haskell bedeutet Abstraktion}{refactoring in haskell means abstraction} \end{itemizep} \vspace{\baselineskip} \slidep \ifger{Wir werden sehen, ob all dies zutrifft.}{We'll have to see if this holds true.}