Swirly Mein Kopf

Tuesday, December 6. 2011

Guest lecture on Haskell performance


Today, I had some business in Bonn, so Janis Voigtländer invited me to hold a guest lecture in his advanced functional programming course, maybe telling the students more about “real world” use of Haskell, given that he teaches mostly the theoretical foundations. I chose to discuss an experience I made while implementing SAT-Britney, namely that for the sake of good runtime and memory performance, it may be neither ideal to evaluate a list fully lazily, nor fully strict, but to have something in between. For the talk, I demonstrated this by a small example, showed how to use the GHCi debugger to get some insight in the evaluation order of things, how to benchmark the program and read the ghc statistics and a profiling chart, and finally how to get the most out of GHC’s List Fusion. I wanted to also touch on QuickCheck, but skipped it to finish in time. The full text of my talk (including graphs) is available, but in German; if you want an English version convince your prof to invite me for a guest lecture as well.

Afterwards I sat down with one of the students of the course, Helmut Grohne, who happened to take part in the Debian bug squashing party last weekend and had filed a release critical bug against the Haskell grammar generator frown (no better link available, homepage seems to be down) to debug the problem. It quickly became clear that the bug was introduced by me (can you spot it?) when trying to make it compile with a modern GHC – slightly embarrassing for me.


No Trackbacks


Display comments as (Linear | Threaded)

*Lack of parentheses around (n-1) in "n-1 `div` 2"?
#1 Marius Gedminas (Homepage) on 2011-12-06 23:54 (Reply)
#1.1 Joachim Breitner (Homepage) on 2011-12-07 00:03 (Reply)
*Tss, und dann sagst Du nicht Bescheid, wenn Du in der Nähe bist… ;)
#2 mirabilos on 2011-12-07 10:55 (Reply)

Add Comment

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.

Gravatar, Favatar, Identica author images supported.
What is the first name of the owner of this blog? / Wie heißt der Betreiber dieses Blogs mit Vornamen?
Nach oben