Optimierung von Haskellprogrammen - Teil 2

Im vorherigen Teil unserer Serie haben wir uns Optimierungen angeschaut, die durch das Erzwingen von Berechnungen und Typ-Annotationen das Speicherverhalten und die Laufzeit von Haskellprogrammen verbesserten. Um den Wahrheitsgehalt solcher Behauptungen zu überprüfen, messen wir einfach das Verhalten der Programme. Um aber auch die Auswirkungen der gemachten Veränderungen zu verstehen und sicher zu gehen, dass tatsächlich das passiert was passieren soll, müssen wir uns den vom Compiler generierten Code anschauen. Was bei Low-Level-Sprachen wie C und C++ Assemblercode und bei JVM-Spachen Java-Bytecode wäre, ist bei dem Glasgow Haskell Compiler (GHC) Core.

Weiterlesen...

Frege Tag in Basel: Haskell für die JVM

Freitag, den 11. September 2015 treffen sich alle, die an Haskell für die JVM interessiert sind, in den Räumlichkeiten von Canoo in Basel.

Weiterlesen...

Kommandozeilenparser in Haskell - Teil 1

In diesem Artikel lernen wir wie Kommandozeilenoptionen in Haskell-Programmen mit der Bibliothek System.Console.GetOpt geparst werden können und wie die geparsten Optionen in einen Record-Type (Tupel mit Datenfeldern) zur typsicheren Weiterverarbeitung im Programm umgerechnet werden können.

Wie der Titel schon andeutet, wird diesem Artikel noch ein zweiter Teil folgen, in dem wir die Haskell Spracherweiterungen Generics und Literale auf der Typebene kennenlernen werden und mit diesen den Code, den wir in diesem Artikel für unser Beispielprogramm entwickelt haben, für andere Programme wiederverwendbar machen.

Weiterlesen...

Optimierung von Haskellprogrammen - Teil 1

Geht es um funktionale Programmierung denkt der eine sofort an Kombinatoren wie map, fold und zipWith, der andere an Rekursion und Seiteneffekte, und wieder ein anderer an Monaden und Typsysteme. Selten, wenn überhaupt, bringt man funktionale Programmierung mit dem Höchstleistungsrechnen in Verbindung. In diesem Blogeintrag werden wir an einem kleinen Beispiel zeigen, worauf man achten muss, wenn man effiziente Programme in Haskell schreiben möchte. Weiterlesen...

XML in Haskell - Datentypen und Serialisierung

Die Frage „Wie parse oder erzeuge ich ein XML-Dokument mit Haskell?“ ist mir schon oft gestellt worden und ich stelle sie mir auch selbst immer wieder. Es gibt viele XML-Libraries für Haskell, so dass man oft gar nicht weiss wo man als erstes schauen sollte. In dieser Serie von Blogartikeln möchten wir zeigen, wie man XML-Dokumente erzeugt, wie man vorhandene Dokumente in eigene Datenstrukturen einliest und wie man in Dokumenten suchen und diese transformieren kann.

Weiterlesen...