2013BIBSYS Brage (BIBSYS (Norway))Open access

Trace-based just-in-time compiler for Haskell with RPython

Even Wiik Thomassen

Open full text 7 citations

Abstract

Can Haskell benefit from tracing JIT optimization techniques, and is the RPython translation toolchain suitable for purely functional, lazy languages such as Haskell? RPython has been used to implement VMs for many different programming languages, but not for any purely functional or lazy languages. Haskell has achieved impressive speed with ahead-of-time optimizations. Attempts at trace-based JIT optimizations of Haskell have so far not achieved greater speed than static compilation. PyHaskell, a prototype Haskell VM with a meta-tracing JIT compiler written in RPython, shows that the RPython toolchain is suitable for Haskell. While the meta-tracer greatly speeds up PyHaskell, it does not yet beat GHC.

Open-access reader

About this research paper

What this paper is about

Can Haskell benefit from tracing JIT optimization techniques, and is the RPython translation toolchain suitable for purely functional, lazy languages such as Haskell? RPython has been used to implement VMs for many different programming languages, but not for any purely functional or lazy languages. Haskell has achieved impressive speed with ahead-of-time optimizations. Attempts at trace-based JIT optimizations of Haskell have so far not achieved greater speed than static compilation. PyHaskell, a prototype Haskell VM with a meta-tracing JIT compiler written in RPython, shows that the RPython toolchain is suitable for Haskell. While the meta-tracer greatly speeds up PyHaskell, it does not yet beat GHC.

Why it matters

OpenAlex reports 7 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Can Haskell benefit from tracing JIT optimization techniques, and is the RPython translation toolchain suitable for purely functional, lazy languages such as Haskell? RPython has been used to implement VMs for many different programming languages, but not for any purely functional or lazy languages. Haskell has achieved impressive speed with ahead-of-time optimizations. Attempts at trace-based JIT optimizations of Haskell have so far not achieved greater speed than static compilation. PyHaskell, a prototype Haskell VM with a meta-tracing JIT compiler written in RPython, shows that the RPython toolchain is suitable for Haskell. While the meta-tracer greatly speeds up PyHaskell, it does not yet beat GHC.

Key concepts: Haskell, Toolchain, Computer science, Programming language, Compiler, TRACE (psycholinguistics), Functional programming, Tracing

Related papers

Back to paper searchBrowse research topicsOriginal source
Trace-based just-in-time compiler for Haskell with RPython — Research Paper | ScholarLens