• Home
  • Search
  • The Intel labs Haskell research compiler
  • Cite Icon13
  • https://doi.org/10.1145/2503778.2503779Copy DOI Icon

The Intel labs Haskell research compiler

  • Sep 23, 2013
  • Hai Liu +3 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
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.

Similar Papers
  • Conference Article
  • Citations37

Lightweight concurrency primitives for GHC

  • Sep 30, 2007
  • Peng Li +3
  • Research Article
  • Citations6

Automatic SIMD vectorization for Haskell

  • Sep 25, 2013
  • ACM SIGPLAN Notices
  • Leaf Petersen +2
  • Research Article
  • Citations5

Dynamic optimization for functional reactive programming using generalized algebraic data types

  • Sep 12, 2005
  • ACM SIGPLAN Notices
  • Henrik Nilsson
  • Conference Article
  • Citations75

A principled approach to operating system construction in Haskell

  • Sep 12, 2005
  • Thomas Hallgren +3
  • Research Article
  • Citations24

Causal commutative arrows

  • Jun 29, 2011
  • Journal of Functional Programming
  • Hai Liu +2
  • Conference Article
  • Citations7

The Design and Implementation of GUMSMP

  • Aug 28, 2013
  • Malak Aljabri +2
  • Conference Article
  • Citations9

Scalable i/o event handling for GHC

  • Sep 30, 2010
  • Bryan O'Sullivan +1
  • Conference Article
  • Citations2

Homomorphic tree embeddings and their applications to recursive program optimization

  • Jun 19, 1993
  • L.V.S Lakshmanan +2
  • Conference Article
  • Citations47

When is a functional program not a functional program?

  • Sep 01, 1999
  • John Longley
  • Conference Instance
  • Citations1

Proceedings of the 6th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems

  • Jul 26, 2011
  • Book Chapter
  • Citations6

On the composition and decomposition of datalog program mappings

  • Jan 01, 1983
  • Guozhu Dong
  • PDF
  • Research Article
  • Citations1

A language extension set to generate adaptive versions automatically

  • Jan 01, 2018
  • Oil & Gas Science and Technology – Revue d’IFP Energies nouvelles
  • Maxime Schmitt +2
  • Research Article
  • Citations60

Robust optimization and stochastic programming approaches for medium-term production scheduling of a large-scale steelmaking continuous casting process under demand uncertainty

  • Mar 29, 2014
  • Computers & Chemical Engineering
  • Yun Ye +5
  • PDF
  • Research Article
  • Citations29

Stochastic dual dynamic programming for multistage stochastic mixed-integer nonlinear optimization

  • Aug 20, 2022
  • Mathematical Programming
  • Shixuan Zhang +1
  • Research Article
  • Citations10

On the Design of Fast Convergent LDPC Codes for the BEC: An Optimization Approach

  • Feb 01, 2015
  • IEEE Transactions on Communications
  • Vahid Jamali +3
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.