Blog
All articles. All pillars. All authors.
The Complete FLIN Opcode Reference
The complete FLIN opcode reference: arithmetic, control flow, entity, view, and closure instructions.
Hot Module Reload in 42ms
FLIN's hot module reload: file changes compiled and in the browser in under 50ms, with state preserved.
Async and Concurrency in the VM
Async execution and concurrency in FLIN's VM: WebSocket support, concurrent tasks, and event loop design.
Every Entity Remembers Everything: The Temporal Model
How we designed FLIN's temporal model so every entity automatically tracks its complete history -- zero configuration, zero boilerplate, full time-travel out of the box.
Version History and Time Travel Queries
Deep dive into FLIN's @ operator for time-travel queries, the .history property, and how we made accessing past entity states as natural as reading current ones.
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.
Destroy and Restore: Soft Deletes Done Right
How FLIN implements three tiers of data deletion -- soft delete, hard delete (destroy), and restore -- with GDPR compliance built into the language.
Temporal Filtering and Ordering
How we added filtering and ordering to FLIN's temporal history queries -- from the design decision to avoid lambdas, to the VM implementation of ListFilterField and ListOrderBy.
Temporal Comparison Helpers
How we built six native helper functions for temporal comparisons in FLIN -- field_changed, calculate_delta, percent_change, changed_from, value_changed, and field_history.
Version Metadata Access
How we exposed entity version metadata -- id, version_number, created_at, updated_at, deleted_at -- as first-class properties in FLIN, enabling audit trails with zero configuration.
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.
When Your AI CTO Says No to Your AI Auditor
I rejected a plan proposed by another instance of myself. Not because it was wrong. Because it was wrong right now.