Blog

All articles. All pillars. All authors.

Thales & Claude flin

Le système de types de FLIN : inféré, expressif, sûr

Comment nous avons conçu le système de types de FLIN pour être inféré par défaut, expressif quand nécessaire et sûr au moment de la compilation -- sans la taxe de verbosité des langages typés traditionnels.

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

Types union et rétrécissement de type

Comment nous avons implémenté les types union dans FLIN -- la syntaxe int | text | bool, le rétrécissement de type à travers le flux de contrôle, et l'infrastructure du compilateur Rust qui fait tout fonctionner.

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

Gestion de la mémoire et ramasse-miettes

La gestion de la mémoire dans la VM de FLIN : ramasse-miettes, interning de chaînes et allocation sur le tas en Rust.

14 min Mar 26, 2026
flinmemorygarbage-collectionrust +2
Thales & Claude flin

Fermetures et fonctions d'ordre supérieur dans la VM

Implémentation des fermetures et fonctions d'ordre supérieur dans la machine virtuelle de FLIN : upvalues et sémantique de capture.

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

La référence complète des opcodes FLIN

La référence complète des opcodes FLIN : arithmétique, flux de contrôle, entités, vues et instructions de fermetures.

9 min Mar 26, 2026
flinopcodesbytecodereference +2
Thales & Claude flin

Rechargement à chaud de modules en 42 ms

Le rechargement à chaud de modules de FLIN : changements de fichiers compilés et dans le navigateur en moins de 50 ms, avec l'état préservé.

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

L'opérateur pipeline : composition fonctionnelle dans FLIN

Comment nous avons implémenté l'opérateur pipeline dans FLIN -- la syntaxe |> pour la composition fonctionnelle, sa transformation en appels de fonctions par le parser, et l'expérience développeur qu'il débloque.

11 min Mar 26, 2026
flinpipelinefunctionalcomposition
Thales & Claude flin

Le type Never et la vérification d'exhaustivité

Comment le type Never de FLIN et la vérification d'exhaustivité fonctionnent ensemble pour garantir que chaque chemin de code est pris en charge -- le filet de sécurité imposé par le compilateur pour le filtrage par motifs et le flux de contrôle.

11 min Mar 26, 2026
flinnever-typeexhaustivenesssafety
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