Sounio

Compute at the Horizon of Certainty

A systems programming language for scientific computing with epistemic types, uncertainty propagation, and algebraic effects.

$ curl -sSf https://souniolang.org/install.sh | sh
uncertainty_demo.sio
fn analyze_measurement() with IO {
    // Measurements with epistemic uncertainty
    let temperature: Knowledge<celsius> = measure(
        value: 23.5,
        uncertainty: 0.2,
        source: "sensor_A"
    )

    // Uncertainty propagates automatically through calculations
    let kelvin = temperature + 273.15

    // Confidence-gated decisions
    if kelvin.confidence > 0.95 {
        print("Temperature: " + kelvin.to_string())
        // → Temperature: 296.65 ± 0.2 K (confidence: 97.3%)
    } else {
        perform IO::warn("Insufficient measurement confidence")
    }
}
15M+
Scientific Terms
7
Effect Types
GUM
Compliant
Native
GPU Support
Why Sounio?

Why Sounio?

Modern scientific computing demands more than correct arithmetic—it demands epistemic integrity. Most languages treat uncertainty as an afterthought. Sounio makes it foundational.

Uncertainty is First-Class

Every value can carry its uncertainty. The Knowledge<T> type wraps values with uncertainty, confidence, and provenance metadata.

Automatic Propagation

GUM-compliant uncertainty propagation through all mathematical operations. You write the physics, the compiler handles the statistics.

Provenance Tracking

Data without origin is data without trust. Every measurement traces back to its source—essential for reproducibility and regulatory compliance.

Confidence Gates

When confidence drops below a threshold, execution can pause, warn, or take alternative paths. The system knows what it doesn't know.

Domain-Specific Power

Built-in DSLs for PK/PD modeling (MedLang), neuroimaging (fMRI), causal inference, and GPU-accelerated computing.

Standards Compliant

Designed for GUM, ISO 17025, 21 CFR Part 11, and FAIR principles. Compliance is not optional—it's architectural.

GUM
SI
ISO
Standards Compliant
Learn about our standards compliance

Hello, Uncertainty

See how Sounio handles real scientific computing challenges with native language support.

// Epistemic computing with native uncertainty
let mass: Knowledge<kg> = measure(
    value: 75.3,
    uncertainty: 0.5,
    source: "clinical_scale_001"
)

let height: Knowledge<m> = measure(
    value: 1.82,
    uncertainty: 0.01,
    source: "stadiometer_001"
)

// Uncertainty propagates automatically (GUM-compliant)
let bmi = mass / (height * height)
// bmi.uncertainty computed via error propagation

// Confidence gates control execution
if bmi.confidence > 0.95 {
    report_bmi(bmi)
} else {
    request_remeasurement()
}
Project Status

What Works Today

Sounio is in active development. Here's the current maturity of core features to help you understand what's production-ready.

Stable

  • 🎯 Epistemic types (Knowledge<T>)
  • GPU kernels (PTX, SPIR-V)
  • 🔄 Effect system (IO, Mut, Alloc)
  • 📏 Units of measure (mg, L, h)
  • 🔗 Linear type checking
  • LSP with rich diagnostics

Experimental

  • 📦 Module system (use statements)
  • 🧩 Package manager
  • 🔬 Refinement types (Z3 backend)

In Progress

  • 🌐 WebAssembly backend
  • 📖 Documentation generator
  • 🐛 Debugger integration

The Name

Cape Sounion (Σούνιο) stands at the southernmost tip of Attica, where the ancient Temple of Poseidon has watched over the Aegean for 2,500 years. At sunset, its Doric columns catch the last light—the horizon where certainty meets the unknown sea.

Sounio the language embodies this metaphor: computing at the boundary between what we know and what we don't.

Stay Updated

Get the latest news on Sounio development, releases, and research.

No spam, ever. Unsubscribe anytime.