the next runtime
One binary.
Many languages.
Native performance.
Elide is a runtime, compiler, and toolchain.
Read the docs →elide.pkl ↓elide install ↓
amends "elide:project.pkl"
name = "my-app"
local logbackVersion = "1.5.32"
dependencies {
maven {
packages {
"com.google.guava:guava:33.5.0-jre"
"org.slf4j:slf4j-api:2.0.17"
"ch.qos.logback:logback-core:\(logbackVersion)"
"ch.qos.logback:logback-classic:\(logbackVersion)"
}
}
} 
$ elide install
Hello.ktelide build ↓
// Built-in compiler.
fun greeting(name: String = "Elide") = "Hello, ${name}!"
fun main() {
val x = 42
println(greeting() + " The answer is ${x}")
} 
$ elide kotlinc -- Hello.kt
elide.pkl ↓
artifacts {
["classes"] = new Jvm.Jar {
sources { "main" }
}
["native"] = new Native.NativeImage {
from { "classes" }
}
} $ elide build :native
36× faster than kotlinc
20× faster than javac
3× faster than CPython
Memory safe
Kotlin
Kotlin as a first-class citizen. Compiler plugins, KotlinX, and JUnit out of the box. No plugins, no configuration; it just works.
import …kotlinx.serialization.json.Json
import kotlinx.serialization.Serializable
@Serializable
data class Config(val name: String, val port: Int)
fun main() {
val config = Json.decodeFromString<Config>("""{"name":"elide","port":3000}""")
println("Running ${config.name} on port ${config.port}")
}
NORMAL hello.kt 10L, 285B
$ elide run hello.kt
Running elide on port 3000
Dependencies
Apple Pkl as an optional manifest format, alongside package.json and pom.xml. Typed and composable, with dependencies that resolve automatically.
amends "elide:project.pkl"
name = "my-app"
local logbackVersion = "1.5.32"
dependencies {
maven {
packages {
"com.google.guava:guava:33.5.0-jre"
"org.slf4j:slf4j-api:2.0.17"
"ch.qos.logback:logback-core:\(logbackVersion)"
"ch.qos.logback:logback-classic:\(logbackVersion)"
}
}
}
NORMAL project.pkl 16L, 347B
Why Elide
Performance
Compiled to native code
Kotlin, Java, and JavaScript compile ahead of time to native machine code for fast startup.
Safety
Runtime-level sandboxing
Your existing code runs inside a sandbox, so memory safety comes from the runtime rather than the language.
Productivity
One binary, every language
A single install replaces your JVM, Python, and Node toolchains so every developer can work in their preferred language.
Compatibility
Drop-in by design
Your existing source, imports, and APIs work unchanged, so adopting Elide requires no migration.
Install
Script
$ curl -sSL --tlsv1.2 elide.sh | bash -s -
COPIED
Docker
$ docker run --rm -it elide.dev/elide
COPIED
GitHub Actions
uses: elide-dev/setup-elide@v4
COPIED
Newsletter
Register a callback
Get updates on releases, features, and announcements. No spam.
Please enter a valid email address.