Skip to content
View whispem's full-sized avatar
πŸ’­
πŸ’­

Highlights

  • Pro

Organizations

@RAM-Rust-Aix-Marseille

Block or report whispem

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.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

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

Report abuse
whispem/README.md

Hi there πŸ‘‹πŸΌ

I'm Emilie β€” Rust developer, distributed systems enthusiast, and passionate about language design.
From literature & languages to building storage systems in Rust: curiosity drives innovation.

GitHub LinkedIn Discord Email


I build systems that are meant to be read, understood, and taken apart. I work primarily in Rust, across two domains: distributed infrastructure and programming language design β€” both driven by the same conviction: complexity should be earned, never hidden.

Everything I ship is open source, MIT-licensed, and built in public.


whispem-lang

Version Tests License: MIT

whispem-lang is a small, self-hosted programming language. The compiler is written in Whispem, compiles itself, and runs on a standalone C VM β€” no external dependencies beyond a C compiler. Rust serves as the reference implementation.

Whisper your intent. The machine listens.

What makes v3.0.0 special

  • Self-hosted compiler β€” compiler/wsc.wsp: 1 618 lines of Whispem implementing the full pipeline β€” lexer, recursive-descent parser, bytecode compiler, binary serialiser. Source goes in, .whbc bytecode comes out, byte-for-byte identical to the Rust compiler's output.

  • Verified bootstrap β€” The compiler compiles itself. The result compiles itself again. Both outputs share the same SHA-1 β€” a stable fixed point. The same hash holds on both the C VM and the Rust VM.

  • Standalone C VM β€” vm/wvm.c: a single-file runtime (~2 000 lines) with 34 opcodes, 20 builtins, refcounted copy-on-write arrays and dicts, an interactive REPL, and a --dump disassembler.

  • .whbc bytecode format β€” Binary format with magic header, length-prefixed, line numbers preserved for error reporting. Compile once, run on either runtime.

  • 125 tests, zero warnings β€” 93 Rust tests (including 13 bytecode round-trip tests) + 32 autonomous C VM tests with bootstrap verification.

Architecture

source (.wsp)
    ↓  compiler/wsc.wsp (self-hosted)  or  src/compiler.rs (Rust)
bytecode (.whbc)
    ↓  vm/wvm.c (standalone)  or  src/vm.rs (Rust)
output

The language

let name = "Emilie"
print "Hello, " + name

fn factorial(n) {
    if n <= 1 { return 1 }
    return n * factorial(n - 1)
}
print factorial(10)

let fruits = ["apple", "banana", "cherry"]
for fruit in fruits { print fruit }

let config = {"debug": true, "level": 3}
print has_key(config, "debug")

Variables, functions, recursion, forward calls, arrays, dicts, index assignment, for/while/if/else, short-circuit and/or, built-in I/O β€” all in a clean, line-oriented syntax with no semicolons.

Quick start

# Standalone β€” only needs a C compiler
make
./wvm compiler/wsc.whbc examples/hello.wsp   # compile + run
./wvm examples/hello.whbc                    # run precompiled bytecode
./wvm --dump examples/hello.whbc             # inspect bytecode
./wvm                                        # interactive REPL

# Rust reference implementation
cargo run -- examples/hello.wsp              # run source file
cargo run -- --compile examples/hello.wsp    # compile to .whbc
cargo test                                   # 93 tests

Philosophy: every feature must justify its existence. The entire language β€” and its implementation β€” fits in your head.


minikv

Status Rust License: MIT

minikv is a distributed, multi-tenant key-value & object store written in Rust β€” built as a reference implementation of production-grade distributed systems concepts.

Consensus & distribution

Raft consensus with leader election and log replication Β· two-phase commit (2PC) for multi-key transactions Β· 256 virtual shards with consistent hashing Β· automatic rebalancing and failover Β· cross-datacenter async replication Β· conflict resolution (LWW, vector clocks)

Storage & performance

Pluggable backends (RocksDB, Sled, in-memory) Β· write-ahead log (WAL) Β· Bloom filters Β· LZ4/Zstd compression Β· data tiering (hot/warm/cold/archive) Β· 50 000+ writes/sec single node Β· sub-millisecond reads Β· tested on 3–5 node clusters

APIs

HTTP REST (CRUD, batch, range, prefix) Β· S3-compatible (buckets, objects, multipart) Β· gRPC (internal) Β· WebSocket/SSE (real-time watch/subscribe)

Security & multi-tenancy

RBAC Β· JWT + API key auth (Argon2) Β· AES-256-GCM encryption at rest Β· TLS everywhere Β· per-tenant isolation, quotas, rate limiting Β· audit logging

Observability & operations

Prometheus metrics Β· OpenTelemetry tracing Β· admin Web UI Β· health probes Β· backup/restore Β· CDC Β· plugin system

Cloud-native (v0.9.0)

Kubernetes Operator (CRD + autoscaling) Β· time-series engine (downsampling, aggregations) Β· geo-partitioning (GDPR compliance) Β· io_uring zero-copy I/O

Architecture

        REST Β· S3 Β· gRPC Β· WebSocket
                    β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚   Raft Coordinators   β”‚  consensus + 2PC
        β”‚     (3–5 nodes)       β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                    β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚    Volume Servers     β”‚  256 virtual shards
        β”‚  RocksDB Β· Sled Β· Mem β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Status: v0.9.0 β€” production-grade.


Tech

Rust  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  primary
C     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘  whispem VM

Core: Rust Β· C Β· Tokio Β· Axum Β· Tonic (gRPC) Β· Protobuf
Storage: RocksDB Β· Sled
Crypto: AES-256-GCM Β· Argon2 Β· BLAKE3 Β· rustls
Ops: Prometheus Β· OpenTelemetry Β· Docker Β· Kubernetes


"The best way to learn is to build."

GitHub Β· LinkedIn Β· Discord Β· contact.whispem@gmail.com

Pinned Loading

  1. whispem-lang whispem-lang Public

    Whispem is a small, self-hosted programming language. The compiler is written in Whispem, compiles itself, and runs on a standalone C VM β€” no external dependencies beyond a C compiler. Rust serves …

    Rust 76 7

  2. minikv minikv Public

    A production-ready distributed key-value store with Raft consensus.

    Rust 303 8