Flin
All Flin articles.
Recorrido de árboles y pruebas de integración
Cómo probamos datos jerárquicos, consultas recursivas y recorrido de árboles en FlinDB -- y por qué las pruebas de integración que imitan aplicaciones reales importan más que las pruebas unitarias.
CSS con alcance y estilos computados
Cómo el sistema de CSS con alcance de FLIN previene la fuga de estilos entre componentes y habilita estilos computados que reaccionan a cambios de estado -- combinando aislamiento CSS con dinamismo en tiempo de ejecución.
Soporte de carga de archivos
Cómo FLIN maneja la carga de archivos de forma nativa: análisis multipart, validación de tamaño, verificación de tipo y almacenamiento con save_file(), sin multer, sin formidable, sin configuración.
Sesión 1: configuración del proyecto y 42 palabras clave
Sesión 1 de la construcción de FLIN: configuración del proyecto, 42 palabras clave, 60+ tipos de tokens y las primeras líneas de un compilador de lenguaje.
Recarga de módulos en caliente en 42ms
La recarga de módulos en caliente de FLIN: cambios en archivos compilados y en el navegador en menos de 50ms, con el estado preservado.
Coincidencia de patrones: de switch a match
Cómo diseñamos la coincidencia de patrones de FLIN -- desde coincidencia de valores simples hasta verificación exhaustiva sobre uniones etiquetadas, y la implementación en Rust que lo impulsa.
Bucles etiquetados y patrones or
Cómo implementamos bucles etiquetados y patrones or en FLIN -- salir de bucles exteriores por nombre, combinar brazos de match con sintaxis pipe, y los cambios en el compilador que los soportan.
Construyendo un analizador léxico desde cero en Rust
Cómo construimos el analizador léxico de FLIN en Rust: del flujo de caracteres a tokens, reconocimiento de palabras clave y escaneo en modo vista.
Generación de código: del AST al bytecode
Cómo el generador de código de FLIN transforma el AST en bytecode: opcodes, pool de constantes e instrucciones de vista.
10 sesiones: de cero a un compilador funcional
Construyendo un compilador de lenguaje de programación en 10 sesiones: lexer, parser, verificador de tipos, codegen y VM en dos días.
Async y concurrencia en la VM
Ejecución asíncrona y concurrencia en la VM de FLIN: soporte WebSocket, tareas concurrentes y diseño del bucle de eventos.
Backends R2 y Google Cloud Storage
Cómo FLIN implementa los backends de Cloudflare R2 y Google Cloud Storage -- trucos de compatibilidad S3, intercambio de tokens OAuth2 y URLs firmadas V4 construidas desde cero en Rust.