Back to Docs

|

A systems and application language built directly on the CLR.

The Genesis of Voyage

Voyage takes its name from the Voyager 1 and 2 probes, and from the manned spacecraft of science fiction — built to travel far and keep working. The project, developed under voyage-org, starts from a single thesis: a language that targets the CLR directly, with no bridging layer, keeps interop simple and performance predictable.

Swift-Inspired Syntax

Voyage keeps the parts of Swift's syntax that read clearly: func, struct, enum, protocol, extension, and \(...) string interpolation. Single-expression function bodies get an implicit return.

voyage
struct Coordinate {
  let x: Double
  let y: Double

  func distance(to other: Coordinate) -> Double
    sqrt((x - other.x) * (x - other.x) + (y - other.y) * (y - other.y))
}

Reentrant Actors & Atomic Blocks

Actors are fully reentrant, backed by lock-free Channel<T> mailbox loops running on the CLR ThreadPool. atomic{'{}'} blocks give you zero-runtime-cost concurrency safety, checked entirely at compile time — no await is allowed inside one, and the compiler performs transitive-await detection across the whole compilation unit.