.*lang

a statically-typed programming language for cross-language library development

↓ scroll

the problem

companies maintain separate sdks for every language. same functionality, different implementations. redundant effort, inconsistent behavior.

python sdk
Python SDK example
typescript sdk
TypeScript SDK example

google's agent development kit — same api, maintained twice

the solution

write your library once in star. compile to webassembly. use from any language with a wasm runtime — python, javascript, rust, go, and more.

write in star
compile to wasm
use anywhere
one codebase
no more maintaining parallel implementations
consistent behavior
same binary, same results, every language
native feel
generated stubs provide idiomatic apis

simple syntax

familiar c-style syntax with modern conveniences

struct User {
    name: string,
    email: string
}

fn greet(user: User): string {
    return "hello, " + user.name;
}

fn main(): integer {
    let user: User = new User {
        name: "alice",
        email: "alice@example.com"
    };

    print greet(user);
    return 0;
}

ready to try?

learn the language or dive into the internals