|

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
// Voyage Language Example
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.