Blog
All articles. All pillars. All authors.
Taming Caddy as a Programmatic Reverse Proxy
How we turned Caddy into a fully programmatic reverse proxy managed via its Admin API, with automatic SSL, route syncing, and crash recovery.
#045 -- Advanced Type Features: The Complete Picture
A retrospective on FLIN's complete type system -- how inference, union types, generics, traits, tagged unions, pattern matching, and control flow features form a coherent whole.
#105 -- Response Helpers and Status Codes
How FLIN's response system turns return values into HTTP responses automatically -- JSON serialization, status codes, redirect helpers, and error formatting without boilerplate.
#006 -- Why We Chose Rust to Build a Programming Language
Why Juste A. GNIMAVO and Claude chose Rust to build the FLIN programming language compiler from Abidjan.
#036 -- Tagged Unions and Algebraic Data Types
How we brought algebraic data types to FLIN -- generic enums with associated data, Option<T>, Result<T, E>, and the Rust implementation of tagged unions.
#035 -- Pattern Matching: From Switch to Match
How we designed FLIN's pattern matching -- from simple value matching to exhaustive checking on tagged unions, and the Rust implementation that powers it all.
#021 -- Building a Stack-Based Virtual Machine in Rust
How we built FLIN's stack-based virtual machine in Rust: execution loop, value types, and call frames.
#003 -- Naming a Language After an Elephant: The Fongbe Origin of FLIN
FLIN's name comes from Fongbe (Benin): 'E flin nu' means 'It remembers things.' The elephant never forgets.
From 5 Agents to Production: Shipping 0diff in 20 Minutes
The full story: 5 parallel agents built 0diff in 45 minutes (2,356 lines, 44 tests), then a 20-minute polish session made it production-ready.
#016 -- Code Generation: From AST to Bytecode
How FLIN's code generator transforms the AST into bytecode: opcodes, constant pool, and view instructions.
#015 -- Hindley-Milner Type Inference in a Custom Language
How FLIN uses Hindley-Milner type inference to determine types without annotations -- implemented in Rust.
#011 -- Session 1: Project Setup and 42 Keywords
Session 1 of building FLIN: project setup, 42 keywords, 60+ token types, and the first lines of a language compiler.