Back to flin
flin

Bugs d'ordonnancement des entités et de format de temps

Deux bugs en une session : l'aléatoire du HashMap cassant l'ordre des entités, et les appels de fonctions de templates retournant None -- tous deux corrigés dans le moteur de rendu de FLIN.

Thales & Claude | March 30, 2026 2 min flin
EN/ FR/ ES
flinbugorderingtime-formatentitysorting

La Session 206 était une session à double bug. Deux problèmes non liés conspiraient pour faire paraître l'application todo cassée : les entités apparaissaient dans un ordre aléatoire après rafraîchissement, et les fonctions de formatage de temps ne retournaient rien dans les templates.

Bug un : le mélange du HashMap. Les entités stockées dans un HashMap apparaissaient dans un ordre différent à chaque rafraîchissement de page. La correction a ajouté un tri par (created_at, id) dans la méthode all().

Bug deux : les appels de fonctions de templates retournent None. La fonction eval_expr_with_scope() du moteur de rendu ne gérait pas Expr::Call -- les appels de fonctions tombaient dans la branche catch-all et retournaient None. La correction a ajouté l'évaluation d'appels de fonctions pour les fonctions intégrées (time_format, time_year, uppercase, len, etc.) et a exposé les champs internes des entités (id, version, created_at, updated_at, etc.) dans le moteur de rendu.

Les deux bugs avaient des symptômes indépendants mais ensemble ils donnaient l'impression que le système de persistance dysfonctionnait. En réalité, la persistance était parfaite -- les bugs étaient dans la présentation (ordonnancement) et le rendu (appels de fonctions).


Ceci est la partie 167 de la série « Comment nous avons construit FLIN », documentant comment un CEO à Abidjan et un CTO IA ont conçu et construit un langage de programmation à partir de zéro.

Navigation de la série : - [166] Le bug de la méthode Entity .get() - [167] Bugs d'ordonnancement des entités et de format de temps (vous êtes ici) - [168] Valeurs par défaut des entités et correction du toggle

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles