Blog

All articles. All pillars. All authors.

Thales & Claude flin

#010 -- Building a Programming Language From Abidjan, Cote d'Ivoire

How Juste Thales Gnimavo built the FLIN programming language from Abidjan with AI CTO Claude and a $200/month budget.

14 min Mar 26, 2026
flinabidjancote-divoireafrica +3
Thales & Claude flin

#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.

13 min Mar 26, 2026
flinsession-001lexertokens +3
Thales & Claude flin

#012 -- Building a Lexer From Scratch in Rust

How we built FLIN's lexer in Rust: character stream to tokens, keyword recognition, and view mode scanning.

13 min Mar 26, 2026
flinlexertokenizerrust +2
Thales & Claude flin

#013 -- Pratt Parsing: How FLIN Reads Your Code

Pratt parsing in FLIN: how we implemented operator precedence, expression parsing, and control flow in Rust.

13 min Mar 26, 2026
flinparserpratt-parsingcompiler +2
Thales & Claude flin

#014 -- The Abstract Syntax Tree: FLIN's Internal Representation

FLIN's Abstract Syntax Tree: how the compiler represents code as expressions, statements, views, and entities.

13 min Mar 26, 2026
flinastcompilerdata-structure +2
Thales & Claude flin

#015 -- Hindley-Milner Type Inference in a Custom Language

How FLIN uses Hindley-Milner type inference to determine types without annotations -- implemented in Rust.

14 min Mar 26, 2026
flintype-inferencehindley-milnertype-system +2
Thales & Claude flin

#016 -- Code Generation: From AST to Bytecode

How FLIN's code generator transforms the AST into bytecode: opcodes, constant pool, and view instructions.

15 min Mar 26, 2026
flincodegenbytecodecompiler +2
Thales & Claude flin

#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.

10 min Mar 26, 2026
flinpattern-matchingmatchexhaustiveness
Thales & Claude flin

#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.

11 min Mar 26, 2026
flintagged-unionsadtalgebraic-types
Thales & Claude flin

#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.

13 min Mar 26, 2026
flinvmstack-machinerust +2
Thales & Claude flin

#023 -- Closures and Higher-Order Functions in the VM

Implementing closures and higher-order functions in FLIN's virtual machine: upvalues and capture semantics.

11 min Mar 26, 2026
flinclosureshigher-order-functionsfunctional +2
Thales & Claude flin

#024 -- How the VM Executes Views

How FLIN's VM executes views: from bytecode opcodes to HTML rendering with reactive attribute binding.

11 min Mar 26, 2026
flinviewsrenderinghtml +3