|
Voyage is a modern systems and application language, built directly on the CLR, named for the spirit of exploration behind Voyager 1 and 2.
The Vision
The Voyage ecosystem takes its name and spirit from the Voyager 1 and 2 probes, and from the manned spacecraft of science fiction — vessels built to travel far, carry their crew safely, and keep working long after launch.
We believe a language shouldn't ask you to bridge two runtimes to get real work done. Voyage compiles directly against CLR assembly metadata, so Voyage and C# code interoperate by construction — one memory model, one GC, no foreign function interface.
That single-runtime, no-FFI philosophy comes from hard-won lessons in Nova AI Lang. Voyage keeps Swift's clarity — func, struct, enum, protocol, extension — while building concurrency and safety in from the start.
Built on the CLR
Voyage isn't a language that transpiles or bridges to the CLR — it targets it directly. Structs are CLR value types; classes and actors are CLR reference types under a tracing GC. There's no separate Voyage runtime to keep in sync.
- Reentrant actors: lock-free Channel<T> mailboxes on the CLR ThreadPool
- atomic blocks: zero-runtime-cost concurrency safety, checked at compile time
- C# interop: no wrappers, no bindings — just shared assembly metadata
protocol Instrument {
func read() -> Double
}
actor Probe: Instrument {
var lastReading: Double = 0.0
func read() -> Double {
atomic {
lastReading
}
}
}Our Principles
Clarity
Swift-inspired syntax that reads the way it runs, with implicit returns and clean interpolation.
Safety
Concurrency mistakes caught at compile time, not left to runtime crashes.
Performance
Native CLR value and reference semantics, no bridging or marshalling overhead.
Openness
Spec-first, ADR-driven design, developed openly on GitHub before code ships.