Elide

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)"
    }
  }
}
Installer demo
$ 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}")
}
Builder demo
$ 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
faster than CPython
Memory safe
elide.dev 2026
Kotlin

Kotlin as a first-class citizen. Compiler plugins, KotlinX, and JUnit out of the box. No plugins, no configuration; it just works.

hello.kt
import kotlinx.serialization.json.Jsonimport 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.

project.pkl
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.