Concurrency that reads like your intent.
Actors, channels, and structured scopes are part of the language—not a library bolted on later.
Safe and simple by default. Siyo is a compiled language with actors, channels, and native Java interop. Familiar enough to start today. Different enough to enjoy it.
actor Store { data: map } impl Store {fn new() -> Store {Store { data: map() }} fn set(self, key: string,value: string) -> string {self.data.set(key, value)"OK"}} mut store = spawn Store.new()println(store.set("lang", "siyo"))Designed around the way software is built now: concurrent by default, connected to an enormous ecosystem, and pleasant to read six months later.
Actors, channels, and structured scopes are part of the language—not a library bolted on later.
Siyo emits standard JVM bytecode and runs beside Java and Kotlin with access to the full ecosystem.
Closures, pattern matching, structs, interpolation, and typed functions in one compact syntax.
Siyo keeps the syntax compact while giving you real tools for real systems. Build APIs, model data, coordinate work, or call Java when you need to.
actor Counter { value: int }
impl Counter {
fn increment(self) -> int {
self.value += 1
self.value
}
}
mut counter = spawn Counter { value: 0 }
println(toString(counter.increment()))The compiler and interpreter share the same analysis pipeline, so compiled programs and debug runs keep identical semantics.
Install Siyo with its bundled runtime, then create your first project.
curl -fsSL siyolang.org/install | shsiyoc new my-app02cd my-app03siyoc runSiyo already ships with the pieces to explore real applications.
Siyo is young, public, and ready for curious builders.