One object-and-slot model
Ordinary object state, module bindings, and lexical bindings all use slots instead of unrelated storage concepts.
Experimental prototype-based programming language
Protos is built around objects, slots, delegation, messages, execution contexts, closures, Futures, and Actors. There are no classes: objects delegate directly to other objects.
animal: {
alive: true
speak: () => {
print(name)
}
}
dog: animal {
name: "Rex"
}
dog.speak()dog delegates to animal. The inherited closure runs with dog as its receiver.
Why Protos?
The design aims to grow through composition rather than by adding a new language institution for every new capability.
Ordinary object state, module bindings, and lexical bindings all use slots instead of unrelated storage concepts.
The language keeps intent explicit: : creates a slot, while = modifies an existing eligible slot.
Methods are an invocation role of closures, not a second callable value category.
Futures, structured tasks, isolated parallel execution, and Actors extend the same object/message/closure universe.
One universe
Protos deliberately separates lexical lookup from receiver delegation while reusing the same slot mechanism. Reads may delegate; writes do not silently mutate an ancestor prototype.
Explore the design philosophy →