Skip to content
View Champii's full-sized avatar
💭
Rustifying the world
💭
Rustifying the world

Block or report Champii

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Champii/README.md

Champii — Functional ideas. Native foundations.

I build programming languages and systems software in Rust. My work explores how expressive abstractions, explicit ownership, and native execution can fit together — from a language and its compiler to decentralized storage and developer tools.

Rock · Language book · Contact

Rock — functional programming, native foundations

My main focus: building a language and the ecosystem around it.

Rock is an experimental, natively compiled language with a functional style and explicit ownership. Written in Rust and targeting LLVM, it brings together type inference, pattern matching, higher-kinded types, and deterministic resource cleanup. Its syntax draws from LiveScript, Haskell, and Rust: concise functions, readable pipelines, and abstractions that compose.

The ambition is to make functional programming feel natural in systems code: work with functions and containers at a high level while keeping borrowing, mutation, and resource lifetimes explicit. Traits such as Functor, Monad, and Traversable let different containers share operations; do notation makes dependent, fallible steps read as a flat sequence.

half_even = value ->
    if value % 2 == 0
    then Option::Some value / 2
    else Option::None

main = !->
    Option::Some 84
        >>= half_even
        >>= half_even
        |> (.println!)  // Some(21)

What I'm building now

  • A more expressive type system. Connecting higher-kinded abstractions, ownership-aware closures, and trait inference so ordinary programs need fewer annotations; exploring scoped dynamic dispatch and existential packages on a dedicated development branch.
  • A principled compiler–library boundary. Moving operator meaning and primitive arithmetic policy into the standard library, backed by explicit compiler intrinsics; extending UTF-8 text handling and generic, short-circuiting traversal.
  • A usable language toolchain. Developing rockup, the project CLI, language server, editor integrations, and the language book alongside the compiler, with reusable compiled dependency artifacts.

The hard problems

The challenge is making these features work together: preserving borrowing and cleanup through closures and erased types, keeping inference predictable across generic trait calls, and carrying the same semantics across separately compiled dependencies. Compiler correctness, useful diagnostics, and realistic library programs are central to that work.

Rock is still experimental. The published release and active development branches move at different speeds; the goal is a coherent, usable language, and the current work is about earning that reliability.

Explore the compiler → · Read the book · Try a release · Join the discussion

Selected projects

Rock ecosystem · Taking the language beyond the compiler

I'm building the surrounding tools and libraries that let Rock be used for real programs. rock_http is a blocking HTTP/1.1 server library written in Rock, with bounded request parsing, response framing, and a thread-per-connection model built on safe standard-library APIs. It gives the language a concrete systems workload. rock.nvim, vscode-rock, and tree-sitter-rock bring the editing experience along with it.

Mutant · Mutable storage on a decentralized network

A Rust storage system that turns the Autonomi network into a mutable key–value interface. Mutant combines encrypted private storage and public sharing with chunked, resumable uploads, storage-pad reuse, and synchronization. A persistent daemon manages network operations and background tasks, exposed through an async Rust API, a CLI, and a web workspace with file viewing, editing, and media streaming. The underlying problem: making distributed storage practical when transfers are interrupted, data changes, and network operations take time.

Asterinas · Kernel development in Rust

My kernel work includes contributing load-average accounting and the corresponding /proc/loadavg interface to Asterinas, a Rust operating-system kernel with a Linux-compatible ABI. The implementation connects scheduler statistics to the proc filesystem, using fixed-point arithmetic and lazy calculation of load averages. It's systems work at a different layer: turning internal scheduling state into useful information for userspace while respecting kernel constraints. View the contribution →

Earlier explorations include Comet, a reactive, isomorphic full-stack framework for Rust, and reactive-postgres-rs, a reactive layer over PostgreSQL.

GitHub, in numbers

Live GitHub stats: stars, commits, pull requests, issues, and repositories contributed to Live GitHub contribution totals, current streak, and longest streak


Interested in language design, compilers, or decentralized systems? Let's talk.

Pinned Loading

  1. Rock-lang-org/Rock Rock-lang-org/Rock Public

    Native language with Rust & LLVM

    Rust 72 3

  2. Mutant Mutant Public

    Decentralized P2P Storage with Mutable Key/Value over the Autonomi Network

    Rust 20 1

  3. Comet Comet Public

    Reactive Isomorphic FullStack Web Framework for Rust

    Rust 42 2

  4. reactive-postgres-rs reactive-postgres-rs Public

    Reactive layer over PostgreSQL in Rust

    Rust 2

  5. og og Public

    Oglang - Language that compiles to Golang

    Go 96 6

  6. crypto-dht crypto-dht Public archive

    Blockchain over DHT in GO

    Vue 39 8