โฌ‡๏ธ Get Started GitHub
๐Ÿ† SELF-HOSTED ยท MODULE SYSTEM ยท v2.3

Ovie โ€” Systems Programming
Made Accessible

Low-level control with high-level productivity. Self-hosted compiler, complete module system, natural syntax, and Aproko reasoning engine.

โœ…
Self-Hosted
v2.3
Module System
160KB+
Standard Library
MIT
Open Source
main.ov
// 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()
๐ŸŽ‰

Ovie v2.3 โ€” Complete Module System

Ovie v2.3 โ€” Complete Module System

Explore Modules

Why Ovie?

Low-level control meets high-level productivity

โšก

Low-Level Control

Direct memory management, hardware access, and zero-cost abstractions for systems programming.

๐Ÿ“ฆ

Module System

Full import/export, namespace management, dependency graph, circular dependency detection, and caching.

๐Ÿ—๏ธ

Self-Hosted

Ovie compiles itself. Formal invariants validated at every stage: AST โ†’ HIR โ†’ MIR โ†’ Backend.

๐Ÿ”

Aproko Engine

Built-in static analysis across 6 categories. Explains compiler decisions. AI/LLM-friendly knowledge base.

๐Ÿ”

Offline-First

No network required. All dependencies vendored. Deterministic builds with cryptographic verification.

๐ŸŒ

Accessible

Natural syntax with seeAm (Nigerian Pidgin). 13 keywords. Built for developers everywhere.

๐Ÿงช

Property Testing

Property-based tests validate universal correctness properties. 100% critical path coverage.

๐Ÿš€

Multi-Backend

Compile to WebAssembly, LLVM native, or run with the built-in interpreter.

Module System โ€” v2.3

Organize code, manage dependencies, build packages

main.ov
// 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_utils.ov
/// 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
}
ovie.toml
[package]
name = "my-app"
version = "1.0.0"
authors = ["Shedrack Erhabor"]
description = "My Ovie application"

[dependencies]
oba = { path = "./oba" }

[dev-dependencies]
# testing utilities
aproko_query.sh
# 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 html
๐Ÿ”—

Import/Export

Control your API surface with explicit exports. Private by default.

๐Ÿ”„

Dependency Graph

Topological sort, circular dependency detection, incremental compilation.

โšก

Module Cache

SHA-256 content hashing. 10x faster incremental builds. <100ms stdlib load.

๐Ÿ“‹

Package Manager

ovie init, ovie add, ovie install. Lock file for reproducible builds.

๐Ÿง 

Aproko Knowledge Base

Persistent AI-accessible storage of type info, patterns, and reasoning rules.

๐Ÿ“

Doc Enforcement

Compiler requires doc comments on all exports. Auto-generates HTML/Markdown docs.

Download Ovie

Available for Windows, Linux, and macOS

๐ŸชŸ

Windows

x64 โ€” Windows 10+

iwr -useb https://raw.githubusercontent.com/southwarridev/ovie/main/easy-windows-install.ps1 | iex
๐Ÿง

Linux

x64 โ€” Ubuntu, Debian, Fedora, Arch

curl -sSL https://raw.githubusercontent.com/southwarridev/ovie/main/easy-linux-install.sh | bash
๐ŸŽ

macOS

Apple Silicon (arm64) + Intel (x64)

curl -sSL https://raw.githubusercontent.com/southwarridev/ovie/main/easy-macos-install.sh | bash

Build from Source

terminal
git clone https://github.com/southwarridev/ovie.git
cd ovie
make build
make install

# Verify
ovie --version
oviec --self-check

After Installation

1ovie --versionCheck version (2.3.0)
2oviec --self-checkValidate installation
3ovie new helloCreate first project
4oviec run hello/src/main.ovRun it

Documentation

Everything you need to master Ovie

๐Ÿ“– The Ovie Book

A comprehensive guide from first principles to production โ€” written for developers everywhere

Ovie โ€” The Complete Guide

A Complete Guide

v2.3
12 Chapters Runnable Examples Free & Open Source

From "Hello World" to production deployment. Covers language fundamentals, the module system, Aproko integration, testing, performance, and real developer stories.

01Introduction and Philosophy
02Installation and Setup
03Language Fundamentals
04Module System Deep Dive
05Standard Library Reference
06Aproko Integration
07Building Production Apps
08Testing and Quality
09Performance Optimization
10Deployment Strategies
11Community and Contribution
12Developer Stories

Standard Library

9 modules, 160KB+ of built-in functionality

std::core

Core

Result, Option, Vec, HashMap โ€” safe, expressive types.

ResultOptionVecHashMap

std::math

Math

Mathematical functions: sqrt, pow, abs, floor, ceil, min, max.

sqrt()pow()abs()floor()

std::io

I/O

Input/output: println, print, read_line.

println()print()read_line()

std::fs

Files

File system: read_file, write_file, file_exists, make_dir.

read_file()write_file()file_exists()

std::time

Time

Time utilities: now, duration_ms, sleep_ms.

now()duration_ms()

std::testing

Tests

Testing framework: assert_eq, assert_true, assert_false.

assert_eq()assert_true()

std::log

Logging

Structured logging: info, warn, error, debug.

info()warn()error()

std::module

New v2.3

Module system: loader, resolver, dependency graph, cache, package manager.

load_module()resolve()kb_query()

std::aproko

New v2.3

Aproko knowledge base: store, query, export for AI tools.

store_entry()get_type_info()export_json()

Community

Open source, community-driven development

๐Ÿ“ฑ

GitHub

Source code, issues, pull requests, and releases.

github.com/southwarridev/ovie โ†’
๐ŸฆŠ

GitLab

Mirror repository with CI/CD pipelines.

gitlab.com/ovie1/ovie โ†’
๐Ÿ’ฌ

Discussions

Ask questions, share projects, get help.

GitHub Discussions โ†’
๐Ÿ›

Issues

Report bugs and request features.

Report an Issue โ†’

Contribute to Ovie

Core language, standard library, Aproko rules, documentation, examples, IDE integration โ€” all contributions welcome.

Contributing Guide