Beauty and the Beast: Haskell for JVM
summary
Eta compiles GHC’s STG to JVM bytecode (so it keeps GHC compatibility), rewrites C imports into Java calls via community patches, and provides STG backend codegen plus a provisional FFI scanner for Java classes. Benchmarks show naive quicksort runs at about 60–70% of Java speed, 12‑Queens is slower than GHC but not catastrophically so, and tail calls/optimizations work enough to run big recursions. Projects include a working Game of Life and Pong glue; interop uses a Java monad and some ergonomics remain unfinished.
AI-written summary · about
chapters (20)
- 0:00Intro
- 1:35About me
- 2:39Why Haskell
- 3:38Java
- 7:41Haskell for JVM
- 9:16Tieple
- 11:05Fraga
- 13:00STG Machine
- 14:58DG
- 16:13C Imports
- 18:40Java Unit
- 21:34Optimization
- 27:59Benchmarking
- 29:59Quicksort
- 32:54ETA Quicksort
- 37:17ETA Fraga
- 38:02Java Interoperability
- 39:39Styles of Interoperability
- 43:52Data Structures in Haskell
- 47:01Conclusion
related talks
49mEta lang - Haskell On JVM
01h 39mETA lang a Journey from Haskell via STG and Bytecode to Assembly Part 1
43mReuniting the familly with Eta: Haskell on the JVM
01h 02mHaskell for Java Programmers
01h 01mPolyglot Programming in the JVM
35mJava at Speed: Building a Better JVM
40mWhat Haskell taught us when we were not looking
38mGraal
