Enso2024
From APIDesign
Enso story continued in 2024 as well...
Performance and Runtime
- Magnitudes of startup speed up by using GraalVM AOT compilation
- Avoid IR traversal by converting (some of) our Passes to mini passes - lowers GC presure, improves locality, allows inlining
- adopting Apache Arrow format for interop with Python Pandas & co.
- 5-10% speedup...
- Eliminate 10% overhead ... by inlining objects together
- Modularization and cleanup of dependencies like Removing Truffle API dependency from runtime-compiler project
- Never ending rewriting from Scala to Java like #9810
- Use small JDK by Reduce set of JDK modules required by Enso
- Removal of Desktop and Java SE modules not needed in a headless application like Enso
- Talking to compiler to benchmark ArrowOperationPlus node and speed it up!
Tooling and other Projects
- Enso language support with parser in VSCode, IGV, etc.
- Instrumentation, visualization and autoscoped constructors
- Contributed to Snakeyaml
- Contributed to Helidon
Improving Language & Libraries
- Autoscoping of constructors - essential and speculative language improvement
- Merged as #9190
- Binary operator resolution based on that value - technically double dispatch at full speed
- Equality and Conversions
- Intersection types & type checks - towards inheritance with functional programming flavor!
- Fixing Inconsistent import and FQN behavior
- Reworked comparable & hashing & equality and make it consistent and sound
List of 257 issues and requests resolved in 2024. The story continued in Enso2025. The previous year was Enso2023.