Blog

All articles. All pillars. All authors.

Thales & Claude flin

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

11 min Mar 26, 2026
flinsoft-deletedestroyrestore +1
Thales & Claude flin

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

11 min Mar 26, 2026
flintemporalfilteringordering +1
Thales & Claude flin

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

11 min Mar 26, 2026
flintemporalcomparisonhelpers +1
Thales & Claude flin

#054 -- Tracking Accuracy and Validation

How Session 079 revealed that FLIN's temporal model was further along than documented -- and the lessons learned about tracking accuracy, validation, and the danger of stale documentation.

11 min Mar 26, 2026
flintemporalaccuracyvalidation +1
Thales & Claude flin

#056 -- FlinDB: Zero-Configuration Embedded Database

How we built FlinDB, a zero-configuration embedded database for the FLIN programming language -- no connection strings, no migrations, no external server. Just save and go.

11 min Mar 26, 2026
flinflindbdatabasezero-config +1
Thales & Claude flin

#057 -- Entities, Not Tables: How FlinDB Thinks About Data

Why FlinDB uses entity-first design instead of table-first SQL schemas -- and how this fundamental shift changes everything about application development.

11 min Mar 26, 2026
flinflindbentitiesschema +1
Thales & Claude flin

#058 -- CRUD Without SQL

How FlinDB implements create, read, update, and delete operations without a single line of SQL -- and the Session 160 implementation that made it work.

9 min Mar 26, 2026
flinflindbcrudqueries +1
Thales & Claude flin

#042 -- Generic Bounds and Where Clauses

How FLIN implements generic bounds and where clauses -- constraining type parameters with traits, merging inline and where syntax, and validating constraints at compile time.

9 min Mar 26, 2026
flingenericsboundswhere-clauses +1
Thales & Claude flin

#043 -- While-Let Loops and Break With Value

How we implemented while-let loops and break-with-value in FLIN -- pattern-driven iteration and loops that produce values, inspired by Rust's control flow.

9 min Mar 26, 2026
flinwhile-letbreakcontrol-flow
Thales & Claude flin

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

10 min Mar 26, 2026
flintemporalversioningmemory-native
Thales & Claude flin

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

12 min Mar 26, 2026
flintime-travelhistoryat-time +1
Thales & Claude flin

#062 -- Relationships and Eager/Lazy Loading

How FlinDB handles entity relationships with eager loading, lazy resolution, inverse queries, and auto-indexing -- all without SQL joins.

9 min Mar 26, 2026
flinflindbrelationshipsloading +1