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)"
}
}
} 
// Built-in compiler.
fun greeting(name: String = "Elide") = "Hello, ${name}!"
fun main() {
val x = 42
println(greeting() + " The answer is ${x}")
} 
artifacts {
["classes"] = new Jvm.Jar {
sources { "main" }
}
["native"] = new Native.NativeImage {
from { "classes" }
}
} SSR cold-start benchmarks on Linux x64.
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)"
}
}
} // Built-in compiler.
fun greeting(name: String = "Elide") = "Hello, ${name}!"
fun main() {
val x = 42
println(greeting() + " The answer is ${x}")
} artifacts {
["classes"] = new Jvm.Jar {
sources { "main" }
}
["native"] = new Native.NativeImage {
from { "classes" }
}
} Kotlin as a first-class citizen. Compiler plugins, KotlinX, and JUnit out of the box. No plugins, no configuration; it just works.
Sample.kt
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}")
}
Apple Pkl as a manifest format. Like package.json or pom.xml, but typed and composable. Dependencies 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)"
}
}
}
Elide lets your agents see inside running programs so they can help modify behavior live. An AI agent can test code as it builds, inspect runtime state, and iterate without restarting. The runtime becomes a collaborator, not a black box.
100x faster than Next.js isn't a theoretical benchmark. It's what happens when you compile JavaScript to native machine code instead of interpreting it. Same for Python. Same for Kotlin.
You don't have to rewrite in Rust to get memory safety. Elide sandboxes your existing JavaScript, Python, and JVM code at the runtime level. The safety comes from the runtime, not the language.
No more, "which Node version?" No more, "which JDK?" No more, "which Python?" One binary, every developer on the team.
No migration guide because there's nothing to migrate. Same file extensions, same imports, same APIs. Faster output.