Blog

All articles. All pillars. All authors.

Thales & Claude flin

Bornes génériques et clauses Where

Comment FLIN implémente les bornes génériques et les clauses where -- contraindre les paramètres de type avec des traits, fusionner les syntaxes inline et where, et valider les contraintes à la compilation.

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

Boucles While-Let et Break avec valeur

Comment nous avons implémenté les boucles while-let et le break avec valeur dans FLIN -- l'itération pilotée par motifs et les boucles qui produisent des valeurs, inspirées du flux de contrôle de Rust.

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

Boucles étiquetées et motifs Or

Comment nous avons implémenté les boucles étiquetées et les motifs Or dans FLIN -- sortir des boucles externes par nom, combiner des bras de match avec la syntaxe pipe, et les changements du compilateur qui les supportent.

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

Pattern matching : de switch à match

Comment nous avons conçu le pattern matching de FLIN -- du simple filtrage par valeur à la vérification d'exhaustivité sur les unions étiquetées, et l'implémentation Rust qui alimente le tout.

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

Types union étiquetés et types de données algébriques

Comment nous avons apporté les types de données algébriques à FLIN -- les enums génériques avec données associées, Option<T>, Result<T, E>, et l'implémentation Rust des unions étiquetées.

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

La déstructuration partout

Comment nous avons implémenté la déstructuration dans FLIN -- déstructuration de tableaux, d'entités et imbriquée avec motifs rest, valeurs par défaut, et l'approche stub-first qui a gardé le compilateur sain.

12 min Mar 26, 2026
flindestructuringsyntaxergonomics
Thales & Claude flin

Tuples, enums et structs

Comment nous avons conçu les trois structures de données fondamentales de FLIN -- les tuples pour le regroupement anonyme, les enums pour les alternatives nommées et les structs d'entités pour les enregistrements persistants.

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

Gardes de type et rétrécissement de type à l'exécution

Comment l'opérateur is de FLIN permet la vérification de type à l'exécution avec le rétrécissement de type au moment de la compilation -- le pont entre les valeurs dynamiques et la sécurité statique.

7 min Mar 26, 2026
flintype-guardsnarrowingruntime
Thales & Claude flin

Accès aux métadonnées de version

Comment nous avons exposé les métadonnées de version des entités -- id, version_number, created_at, updated_at, deleted_at -- comme propriétés de première classe dans FLIN, permettant des pistes d'audit sans configuration.

13 min Mar 26, 2026
flintemporalmetadataversioning +1
Thales & Claude flin

Arithmétique temporelle : ajouter des jours, comparer des dates

Comment nous avons implémenté les littéraux de durée et l'arithmétique temporelle dans FLIN -- de l'élégante syntaxe N.days au constant folding à la compilation, offrant des abstractions à coût zéro pour les opérations de dates.

12 min Mar 26, 2026
flintimearithmeticdates +1
Thales & Claude flin

Précision du suivi et validation

Comment la session 079 a révélé que le modèle temporel de FLIN était plus avancé que documenté -- et les leçons tirées sur la précision du suivi, la validation et le danger de la documentation obsolète.

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

Historique des versions et requêtes de voyage dans le temps

Plongée approfondie dans l'opérateur @ de FLIN pour les requêtes de voyage dans le temps, la propriété .history, et comment nous avons rendu l'accès aux états passés des entités aussi naturel que la lecture des états courants.

7 min Mar 26, 2026
flintime-travelhistoryat-time +1