Low-level control with high-level productivity. Self-hosted compiler, complete module system, natural syntax, and Aproko reasoning engine.
// Ovie v2.3 โ Module System
use std::core::{Result, Vec}
use std::math::{sqrt}
use std::io::{println}
/// Calculate distance between two points
///
/// # Parameters
/// - x: X coordinate
/// - y: Y coordinate
///
/// # Returns
/// Euclidean distance from origin
///
/// # Examples
/// ```ovie
/// mut d = distance(3.0, 4.0)
/// seeAm d // 5.0
/// ```
export fn distance(x: Number, y: Number) -> Number {
return sqrt(x * x + y * y)
}
fn main() {
mut d = distance(3.0, 4.0)
seeAm "Distance: " + d
}
main()
Low-level control meets high-level productivity
Direct memory management, hardware access, and zero-cost abstractions for systems programming.
Full import/export, namespace management, dependency graph, circular dependency detection, and caching.
Ovie compiles itself. Formal invariants validated at every stage: AST โ HIR โ MIR โ Backend.
Built-in static analysis across 6 categories. Explains compiler decisions. AI/LLM-friendly knowledge base.
No network required. All dependencies vendored. Deterministic builds with cryptographic verification.
Natural syntax with seeAm (Nigerian Pidgin). 13 keywords. Built for developers everywhere.
Property-based tests validate universal correctness properties. 100% critical path coverage.
Compile to WebAssembly, LLVM native, or run with the built-in interpreter.
Organize code, manage dependencies, build packages
// Import from standard library
use std::math::{sqrt, pow, abs}
use std::io::{println}
use std::core::{Result, Option}
// Import from third-party package
use oba::qubit::{qubit_new_zero}
use oba::gates::{gate_h}
// Relative import
import "./utils.ov"
fn main() {
mut d = sqrt(16.0)
seeAm "sqrt(16) = " + d
}/// Math utilities module
/// Add two numbers
///
/// # Parameters
/// - a: First number
/// - b: Second number
///
/// # Returns
/// Sum of a and b
///
/// # Examples
/// ```ovie
/// mut r = add(2, 3) // 5
/// ```
export fn add(a: Number, b: Number) -> Number {
return a + b
}
export struct Point {
x: Number,
y: Number,
}
// Private โ not accessible outside module
fn internal_helper(n: Number) -> Number {
return n * 2
}[package]
name = "my-app"
version = "1.0.0"
authors = ["Shedrack Erhabor"]
description = "My Ovie application"
[dependencies]
oba = { path = "./oba" }
[dev-dependencies]
# testing utilities# Query Aproko knowledge base
ovie aproko query --category TypeInformation --symbol add
# Export for AI/LLM consumption
ovie aproko export --output knowledge.json
# Check documentation completeness
ovie doc check
# Generate API docs
ovie doc --format htmlControl your API surface with explicit exports. Private by default.
Topological sort, circular dependency detection, incremental compilation.
SHA-256 content hashing. 10x faster incremental builds. <100ms stdlib load.
ovie init, ovie add, ovie install. Lock file for reproducible builds.
Persistent AI-accessible storage of type info, patterns, and reasoning rules.
Compiler requires doc comments on all exports. Auto-generates HTML/Markdown docs.
Available for Windows, Linux, and macOS
x64 โ Windows 10+
iwr -useb https://raw.githubusercontent.com/southwarridev/ovie/main/easy-windows-install.ps1 | iexx64 โ Ubuntu, Debian, Fedora, Arch
curl -sSL https://raw.githubusercontent.com/southwarridev/ovie/main/easy-linux-install.sh | bashApple Silicon (arm64) + Intel (x64)
curl -sSL https://raw.githubusercontent.com/southwarridev/ovie/main/easy-macos-install.sh | bashgit clone https://github.com/southwarridev/ovie.git
cd ovie
make build
make install
# Verify
ovie --version
oviec --self-checkovie --versionCheck version (2.3.0)oviec --self-checkValidate installationovie new helloCreate first projectoviec run hello/src/main.ovRun itEverything you need to master Ovie
A comprehensive guide from first principles to production โ written for developers everywhere
A Complete Guide
From "Hello World" to production deployment. Covers language fundamentals, the module system, Aproko integration, testing, performance, and real developer stories.
9 modules, 160KB+ of built-in functionality
Result, Option, Vec, HashMap โ safe, expressive types.
Mathematical functions: sqrt, pow, abs, floor, ceil, min, max.
Input/output: println, print, read_line.
File system: read_file, write_file, file_exists, make_dir.
Time utilities: now, duration_ms, sleep_ms.
Testing framework: assert_eq, assert_true, assert_false.
Structured logging: info, warn, error, debug.
Module system: loader, resolver, dependency graph, cache, package manager.
Aproko knowledge base: store, query, export for AI tools.
Open source, community-driven development
Core language, standard library, Aproko rules, documentation, examples, IDE integration โ all contributions welcome.
Contributing Guide