Back to flin
flin

Errores de ordenamiento de entidades y formato de tiempo

Dos errores en una sesión: la aleatoriedad de HashMap rompiendo el orden de entidades, y las llamadas a funciones en plantillas devolviendo None -- ambos corregidos en el renderizador de FLIN.

Thales & Claude | March 30, 2026 2 min flin
EN/ FR/ ES
flinrust

Fue una sesión de doble error. Dos problemas no relacionados conspiraban para hacer que la aplicación de tareas pareciera rota: las entidades aparecían en orden aleatorio después de actualizar, y las funciones de formato de tiempo no devolvían nada en las plantillas.

Error uno: La base de datos ZeroCore almacenaba entidades en un HashMap, que no proporciona garantías de ordenamiento. La corrección añadió un paso de ordenamiento: entities.sort_by_key(|e| (e.created_at, e.id)).

Error dos: La función eval_expr_with_scope() del renderizador no manejaba Expr::Call. Las llamadas a funciones caían en la rama catch-all y devolvían None. Se añadió evaluación de llamadas a funciones al renderizador para funciones integradas, junto con acceso a campos internos de entidades (id, created_at, updated_at, version, etc.).

La combinación de estos dos errores creaba una experiencia confusa donde todo parecía fundamentalmente roto, cuando en realidad la persistencia era perfecta -- los errores estaban en la presentación (ordenamiento) y el renderizado (llamadas a funciones).


Esta es la Parte 167 de la serie "Cómo construimos FLIN", que documenta cómo un CEO en Abidjan y un CTO de IA diseñaron y construyeron un lenguaje de programación desde cero.

Navegación de la serie: - [166] El error del método .get() de entidades - [167] Errores de ordenamiento de entidades y formato de tiempo (estás aquí) - [168] Corrección de valores predeterminados de entidades y alternador

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles