Turbo Haskell (THC) is a compiler that takes over after GHC finishes parsing, typechecking, desugaring, and Core optimization, compiling and executing GHC Core through its own runtime on Truffle and GraalVM. It implements every prim-op from GHC 9.14.1 and provides both just-in-time (JIT) compilation and ahead-of-time (AOT) compilation via Native Image, allowing Haskell programs to be turned into standalone executables. This design reuses GHC's sophisticated front-end while targeting the JVM as a back-end.

THC offers a polyglot foreign function interface (FFI) to Python, Ruby, R, and JavaScript, enabling zero-copy conversion between Haskell's Data.Text and Truffle strings for UTF-8-encoded data, which lets Haskell programs call libraries in those languages and bring their output directly into JIT-compiled code. For numeric workloads, THC supports SIMD by leveraging the limited set of GHC SIMD prim-ops and, through the incubating JDK Vector API (jdk.incubator.vector), can select a SIMD 'species' width at runtime and JIT-compile loops that use vector instructions, providing a path for the JIT to earn performance gains on suitable hardware.

THC avoids traditional trampolines for tail-call optimization: hot tail calls are transformed into tight basic-block-style loops with side exits, and a 64-bit Bloom filter detects likely recursive tail calls during tracing mode. When a probable hit is found, a slow-path exception triggers custom Truffle nodes that instruct Graal to reshape the tail-call loop across function bodies into a single tight loop; false positives only add extra slow-path work without altering results. The runtime also supports both conventional Java threading and Project Loom, providing lightweight GHC-style green threading with a HEC-style executor that makes MVar-like primitives cheap. In early benchmarks, THC ran Data.Map within a range of 3× faster to 3× slower after warmup, mostly hovering around 10–20% slower than GHC, though recent development has seen performance regressions that are being addressed.