Write a Blog >>
ICFP 2018
Sun 23 - Sat 29 September 2018 St. Louis, Missouri, United States
Thu 27 Sep 2018 11:00 - 11:30 at Illinois Central - Session 1 Chair(s): Michael D. Adams

Lazy evaluation has many advantages, but it can cause bad
performance. Consequently, Haskell allows users to
force eager evaluation at certain program points by inserting
strictness annotations, known and written as bangs (!).
Unfortunately, manual bang placement
is difficult. Autobahn 1.0
uses a genetic algorithm to infer bang annotations
that improve performance. However, Autobahn 1.0 often generates
large numbers of superfluous bangs,
which is problematic because users must inspect each such bang to
determine whether it is safe.
We introduce Autobahn 2.0, which uses GHC
profiling information to reduce the number of superfluous bangs.
When evaluated on the NoFib benchmark suite,
Autobahn 2.0 reduced the number of inferred bangs by 90.2% on average,
while only degrading program performance by 15.7% compared with the
performance produced by Autobahn 1.0.
In a case study on a garbage collection simulator,
Autobahn 2.0 eliminated 81.8% of the recommended bangs, with the
same 15.7% optimization degradation.

Thu 27 Sep

Displayed time zone: Guadalajara, Mexico City, Monterrey change

10:30 - 12:00
Session 1Haskell at Illinois Central
Chair(s): Michael D. Adams University of Utah
10:30
30m
Talk
AutoBench: Comparing the Time Performance of Haskell Programs
Haskell
Martin A. T. Handley University of Nottingham, UK, Graham Hutton University of Nottingham, UK
DOI
11:00
30m
Talk
Autobahn 2.0: Minimizing Bangs while Maintaining Performance (System Demonstration)
Haskell
Marilyn Sun Tufts University, USA, Kathleen Fisher Tufts University, USA
DOI
11:30
30m
Talk
Improving Typeclass Relations by Being Open
Haskell
Guido Martínez CIFASIS-CONICET, Argentina, Mauro Jaskelioff CONICET, Argentina, Guido De Luca Universidad Nacional de Rosario, Argentina
DOI