Blog
All articles. All pillars. All authors.
Desestructuración en todas partes
Cómo implementamos la desestructuración en FLIN -- desestructuración de arrays, entidades y anidada con patrones rest, valores por defecto y el enfoque stub-first que mantuvo el compilador saludable.
El operador pipeline: composición funcional en FLIN
Cómo implementamos el operador pipeline en FLIN -- la sintaxis |> para composición funcional, su transformación en el parser a llamadas de función y la experiencia de desarrollador que desbloquea.
Tuplas, enums y structs
Cómo diseñamos las tres estructuras de datos fundamentales de FLIN -- tuplas para agrupación anónima, enums para alternativas nombradas y structs de entidad para registros persistentes.
Guardias de tipo y estrechamiento en tiempo de ejecución
Cómo el operador is de FLIN habilita la verificación de tipos en tiempo de ejecución con estrechamiento de tipos en tiempo de compilación -- el puente entre valores dinámicos y seguridad estática.
El tipo Never y la verificación de exhaustividad
Cómo el tipo Never de FLIN y la verificación de exhaustividad trabajan juntos para garantizar que cada camino de código está cubierto -- la red de seguridad del compilador para la coincidencia de patrones y el flujo de control.
Restricciones genéricas y cláusulas where
Cómo FLIN implementa restricciones genéricas y cláusulas where -- restringiendo parámetros de tipo con traits, fusionando sintaxis inline y where, y validando restricciones en tiempo de compilación.
Acceso a metadatos de version
Como expusimos los metadatos de version de entidades -- id, version_number, created_at, updated_at, deleted_at -- como propiedades de primera clase en FLIN, habilitando pistas de auditoria sin configuracion.
Cada entidad recuerda todo: el modelo temporal
Cómo diseñamos el modelo temporal de FLIN para que cada entidad rastree automáticamente su historial completo -- cero configuración, cero repetitivo, viaje en el tiempo completo de fábrica.
Historial de versiones y consultas de viaje en el tiempo
Inmersión profunda en el operador @ de FLIN para consultas de viaje en el tiempo, la propiedad .history, y cómo hicimos que acceder a estados pasados de entidades sea tan natural como leer los actuales.
Integración temporal: de errores a 100% de cobertura de pruebas
La historia honesta de guerra de cómo ocho sesiones de depuración, auditoría y corrección llevaron el modelo temporal de FLIN de un stub roto a 100% de cobertura de pruebas.
Destroy y Restore: eliminaciones suaves bien hechas
Cómo FLIN implementa tres niveles de eliminación de datos -- eliminación suave, eliminación dura (destroy) y restauración -- con cumplimiento del RGPD integrado en el lenguaje.
Filtrado y ordenamiento temporal
Cómo añadimos filtrado y ordenamiento a las consultas de historial temporal de FLIN -- desde la decisión de diseño de evitar lambdas, hasta la implementación en la VM de ListFilterField y ListOrderBy.