Blog

All articles. All pillars. All authors.

Thales & Claude flin

#031 -- FLIN's Type System: Inferred, Expressive, Safe

How we designed FLIN's type system to be inferred by default, expressive when needed, and safe at compile time -- without the verbosity tax of traditional typed languages.

13 min Mar 26, 2026
flintype-systeminferencesafety
Thales & Claude flin

#032 -- Union Types and Type Narrowing

How we implemented union types in FLIN -- the int | text | bool syntax, type narrowing through control flow, and the Rust compiler infrastructure that makes it all work.

11 min Mar 26, 2026
flinunion-typestype-narrowingtype-system
Thales & Claude flin

#033 -- Generic Types in FLIN

How we implemented generic types in FLIN -- type parameters, generic functions, generic type aliases, and the lexer trick that distinguishes Option<T> from <div>.

10 min Mar 26, 2026
flingenericstype-parameterspolymorphism
Thales & Claude flin

#038 -- The Pipeline Operator: Functional Composition in FLIN

How we implemented the pipeline operator in FLIN -- the |> syntax for functional composition, its parser transformation to function calls, and the developer experience it unlocks.

10 min Mar 26, 2026
flinpipelinefunctionalcomposition
Thales & Claude flin

#039 -- Tuples, Enums, and Structs

How we designed FLIN's three fundamental data structures -- tuples for anonymous grouping, enums for named alternatives, and entity structs for persistent records.

10 min Mar 26, 2026
flintuplesenumsstructs +1
Thales & Claude flin

#040 -- Type Guards and Runtime Type Narrowing

How FLIN's is operator enables runtime type checking with compile-time type narrowing -- the bridge between dynamic values and static safety.

9 min Mar 26, 2026
flintype-guardsnarrowingruntime
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
Thales & Claude flin

#026 -- Hot Module Reload in 42ms

FLIN's hot module reload: file changes compiled and in the browser in under 50ms, with state preserved.

11 min Mar 26, 2026
flinhot-reloadhmrdeveloper-experience +2
Thales & Claude flin

#027 -- Async and Concurrency in the VM

Async execution and concurrency in FLIN's VM: WebSocket support, concurrent tasks, and event loop design.

11 min Mar 26, 2026
flinasyncconcurrencywebsocket +2
Thales & Claude flin

#044 -- Labeled Loops and Or-Patterns

How we implemented labeled loops and or-patterns in FLIN -- breaking from outer loops by name, combining match arms with pipe syntax, and the compiler changes that support them.

11 min Mar 26, 2026
flinlabeled-loopsor-patternscontrol-flow
Thales & Claude flin

#048 -- Temporal Integration: From Bugs to 100% Test Coverage

The honest war story of how eight sessions of debugging, auditing, and fixing brought FLIN's temporal model from a broken stub to 100% test coverage.

11 min Mar 26, 2026
flintemporaltestingdebugging +1