Title
The Intel labs Haskell research compiler
Abstract
The Glasgow Haskell Compiler (GHC) is a well supported optimizing compiler for the Haskell programming language, along with its own extensions to the language and libraries. Haskell's lazy semantics imposes a runtime model which is in general difficult to implement efficiently. GHC achieves good performance across a wide variety of programs via aggressive optimization taking advantage of the lack of side effects, and by targeting a carefully tuned virtual machine. The Intel Labs Haskell Research Compiler uses GHC as a frontend, but provides a new whole-program optimizing backend by compiling the GHC intermediate representation to a relatively generic functional language compilation platform. We found that GHC's external Core language was relatively easy to use, but reusing GHC's libraries and achieving full compatibility were harder. For certain classes of programs, our platform provides substantial performance benefits over GHC alone, performing 2x faster than GHC with the LLVM backend on selected modern performance-oriented benchmarks; for other classes of programs, the benefits of GHC's tuned virtual machine continue to outweigh the benefits of more aggressive whole program optimization. Overall we achieve parity with GHC with the LLVM backend. In this paper, we describe our Haskell compiler stack, its implementation and optimization approach, and present benchmark results comparing it to GHC.
Year
DOI
Venue
2013
10.1145/2503778.2503779
Haskell
Keywords
Field
DocType
aggressive optimization,intel labs haskell research,virtual machine,llvm backend,haskell research compiler,generic functional language compilation,external core language,reusing ghc,haskell programming language,intel lab,ghc intermediate representation,glasgow haskell compiler,compiler optimization
Program optimization,Programming language,Virtual machine,Functional programming,Reuse,Computer science,Compiler,Optimizing compiler,Haskell,Semantics
Conference
Volume
Issue
ISSN
48
12
0362-1340
Citations 
PageRank 
References 
5
0.45
25
Authors
4
Name
Order
Citations
PageRank
Hai Liu1212.91
Neal Glew262760.50
Leaf Petersen31089.65
Todd A Anderson415121.51