Samuel Gammon
06/16/2025, 7:31 PM1.0.0-beta6
. I've been excited to post this for a long time; although Elide is written in Kotlin, it has never been able to run Kotlin for all of us who enjoy it. That is now a thing of the past. Kotlin is now supported K π₯³
π Run Kotlin with no prior build step
π Use Kotlin Serialization seamlessly
π Use Kotlin Test out of the box
π Gradle and Maven plugins!
β
Install from NPM and Maven
β
Build code, run tests, install dependencies, get coverage, all without Gradle and with no library setup
β
Build/run Kotlin, JavaScript, TypeScript, Python in one runtime
β
Call between languages with near-0 overhead
β
Support for most of the Node API; targeting WinterTC
β
Drop-in replacement for javac
, kotlinc
, jar
β
elide:llm
-- local LLM inference with any GGUF model from HuggingFace
β
elide:sqlite
-- use sqlite from your app easily
Elide's Gradle and Maven plugins are also now available:
https://github.com/elide-dev/gradle
https://github.com/elide-dev/maven
The plugins simply swap out javac
for Elide, and optionally delegate dependency fetching. As a result, compilation is accelerated by up to 20x, and dependency fetching by up to 100x. This is a drop-in replacement with nothing to pay or license.
Try Elide on macOS arm64 or Linux amd64:
curl -sSL --tlsv1.2 elide.sh | bash -s -
β our repo if you like our work, and wish to see more Kotlin support π See the thread here for gif samples or questions π π§΅Samuel Gammon
06/16/2025, 7:31 PMSamuel Gammon
06/16/2025, 7:31 PMjavac
Samuel Gammon
06/16/2025, 7:32 PMkotlinc
Samuel Gammon
06/16/2025, 7:32 PMid("dev.elide")
https://github.com/elide-dev/gradleNorbert Kiesel
06/16/2025, 9:52 PMelide --version
prints that, but elide init
fails with
elide Uncaught fatal exception: com.oracle.svm.core.jdk.UnsupportedFeatureError: Resource bundle lookup must be loaded during native image generation: class sun.util.logging.resources.logging
This is on Linux-6.12.32-amd64 and using export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
.
Similar issue when trying to run elide run a.kt
with a.kt
being
fun main() {
println("Hello, Elide!")
}
shows
elide Uncaught fatal exception: kotlin.NotImplementedError: An operation is not implemented: Not yet implemented: KotlinJarBundleInfo
Samuel Gammon
06/16/2025, 9:55 PMelide run a.kts
and just use the println
?Samuel Gammon
06/16/2025, 9:55 PMSamuel Gammon
06/16/2025, 9:56 PMelide init
immediately fail? or after some questions? that's interestingSamuel Gammon
06/16/2025, 9:56 PMSamuel Gammon
06/16/2025, 9:58 PMNorbert Kiesel
06/16/2025, 10:00 PMelide run a.kts
works. Also works when using
fun main() {
println("Hello, Elide!")
}
main()
And yes, elide init
immediately fails. Of course, error message is much more than the single line.Samuel Gammon
06/16/2025, 10:01 PM.kt
, which is also fixable πSamuel Gammon
06/16/2025, 10:01 PMSamuel Gammon
06/16/2025, 10:04 PMNorbert Kiesel
06/16/2025, 10:05 PMSamuel Gammon
06/16/2025, 10:06 PMFudge
06/16/2025, 11:47 PMSamuel Gammon
06/16/2025, 11:51 PMjavac
and kotlinc
cooperate in a Native Image context, and so on, and adding the end-to-end pieces that make it a full toolchain, e.g.:
β’ Maven and NPM fetchers
β’ Test discovery and execution
β’ Coverage, linting... etc
Additionally, we use GraalJs for the JS side, and add support for TypeScript and the Node API, neither of which are supported in stock GVM. Of course there is GraalNode, but that delegates to Node's event loop; Elide is sort of "upside-down GraalNode," in that it is still JVM "leading the way" for the event loop, with Node API implemented on top of JDK.Samuel Gammon
06/16/2025, 11:51 PMFudge
06/16/2025, 11:55 PMFudge
06/16/2025, 11:56 PMFudge
06/16/2025, 11:56 PMSamuel Gammon
06/16/2025, 11:56 PM