THC permite ejecutar Haskell en la JVM mediante JIT y AOT

Fuentes: THC enables Haskell execution on JVM via JIT and AOT

Edward Kmett ha desarrollado THC, un compilador que permite ejecutar Haskell en la JVM utilizando un compilador Just-In-Time (JIT) y soporte para compilación en tiempo de ejecución (AOT). El proyecto, iniciado hace una semana, implementa todos los operadores primarios de GHC 9.14.1 y se basa en la arquitectura de Cadenza, empleando Truffle y GraalVM. A diferencia de otros intentos previos, THC asume que GHC gestiona el análisis léxico, la comprobación de tipos y la optimización de Core, mientras que THC se encarga de la compilación y ejecución del código Core a través de su propio runtime.

THC soporta funciones avanzadas como Template Haskell y Linear Haskell, y permite la compilación AOT mediante Native Image para generar ejecutables. El sistema resuelve paquetes con Cabal y ofrece FFI poliglota para Python, Ruby, R y JavaScript, facilitando el acceso a bibliotecas externas y la integración de código C/C++ a través de Sulong. En cuanto al rendimiento, las pruebas iniciales muestran que THC puede ser entre un 10% y un 20% más lento que GHC en ciertos benchmarks, aunque el desarrollador señala que el rendimiento puede variar significativamente durante el desarrollo. El proyecto está disponible en GitHub y se documenta en su sitio web oficial.