ETA lang a Journey from Haskell via STG and Bytecode to Assembly Part 2
summary
Part 2 shows concrete results not promises: live Haskell–JVM interop (JavaFX example, stable pointers passing Haskell state to Java), measurements with a JMH benchmark for Game of Life and discussion of GC/escape analysis, how hotspot JIT compiles and inlines (printCompilation + JITWatch traces), dumping STG to map Haskell names to generated class/method symbols, and a worked diagnosis of a performance/bytecode issue with tooling (jvisualvm, sampling vs profiling) plus the compiler fix workflow.
AI-written summary · about
chapters (14)
- 0:00Intro
- 2:30LifeJay
- 7:50Java vs Haskell
- 10:20Static methods
- 12:05New State
- 14:25Stable Pointer
- 22:50Haskell
- 23:43Imports
- 26:48Summary
- 31:06Java Code
- 39:22Decompile
- 44:22Print compilation
- 51:00Optimizations
- 57:02Inline
related talks
01h 28mA Tour of Julia
48mGetting Started with Frege
30mThrough the lens of Haskell: exploring new ideas for library design
01h 56mIntro to Julia
13mType Stability in Julia: Avoiding Performance Pathologies in JIT Compilation
43mHow Julia Goes Fast
47mBeginning Julia: Language and Landscape
50mFunctional Programming in SCALA
