|
Charting New Frontiers in Language Design
A modern systems and application language built directly on the CLR. Swift-inspired syntax, reentrant actors, and compile-time safe concurrency — with C# interop by construction.
Built on the CLR
Voyage doesn't reinvent the runtime — it embraces it. Swift-inspired syntax compiles directly against CLR assembly metadata, giving you reentrant actors, safe concurrency, and bidirectional C# interop by construction.
Reentrant Actors
Fully reentrant actors backed by lock-free Channel<T> mailbox loops running on the CLR ThreadPool — no hand-rolled schedulers required.
Compile-Time Safe Concurrency
atomic{'{}'} blocks enforce zero-runtime-cost safety rules at compile time, with transitive-await detection across the whole compilation unit.
Native C# Interop
Modules resolve directly against CLR assembly metadata, so Voyage and C# code call each other without wrappers, bindings, or a foreign function interface.
actor TelemetryHub {
var readings: [Double] = []
func record(_ value: Double) {
readings.append(value)
}
func average() -> Double {
atomic {
readings.reduce(0, +) / Double(readings.count)
}
}
}
struct Probe {
let name: String
\(name) is reporting in
}Single Runtime, No FFI
Voyage is designed spec-first, taking lessons learned from Nova AI Lang: one runtime, one memory model, no bridging layer between languages.
Value & Reference Semantics
struct maps to a CLR value type; class and actor map to CLR reference types under a tracing GC, not ARC.
Typed & Untyped Throws
Choose precise, typed error propagation where it helps, or fall back to untyped throws for flexibility — both are first-class in the type system.
Spec-First Development
Every design decision is recorded as an ADR before a line of compiler code is written — ten ADRs, a full grammar, type system, and memory model, up front.
Ready to chart the course?
Follow the spec, track the parser's progress, and see where Voyage is headed next.