Flin
All Flin articles.
Chaque entité se souvient de tout : le modèle temporel
Comment nous avons conçu le modèle temporel de FLIN pour que chaque entité suive automatiquement son historique complet -- zéro configuration, zéro code répétitif, voyage dans le temps inclus.
FlinDB : base de données embarquée à configuration zéro
Comment nous avons construit FlinDB, une base de données embarquée à configuration zéro pour le langage de programmation FLIN -- pas de chaîne de connexion, pas de migrations, pas de serveur externe. Juste save et c'est parti.
Pratt Parsing : comment FLIN lit votre code
Le Pratt parsing dans FLIN : comment nous avons implémenté la précédence des opérateurs, le parsing d'expressions et le flux de contrôle en Rust.
L'arbre syntaxique abstrait : la représentation interne de FLIN
L'AST de FLIN : comment le compilateur représente le code sous forme d'expressions, d'instructions, de vues et d'entités.
Traversée d'arbres et tests d'intégration
Comment nous avons testé les données hiérarchiques, les requêtes récursives et la traversée d'arbres dans FlinDB -- et pourquoi les tests d'intégration qui imitent des applications réelles importent plus que les tests unitaires.
Fonctions de validation et d'assainissement
Comment FLIN embarque 67 fonctions de validation et d'assainissement -- de la vérification d'e-mail et d'URL à l'assainissement HTML et la prévention d'injection SQL, le tout sans importer de bibliothèque.
Le cycle de vie des composants
Comment les composants FLIN gèrent leur cycle de vie -- onMount pour l'initialisation, onUpdate pour les réactions, onUnmount pour le nettoyage -- avec un modèle plus simple que React ou Vue.
10 sessions : de zéro à un compilateur fonctionnel
Construire un compilateur de langage de programmation en 10 sessions : lexer, parser, vérificateur de types, codegen et VM en deux jours.
La balise raw : trappe de sortie pour le HTML
Comment la balise <raw> de FLIN permet d'injecter du HTML de confiance directement dans le DOM -- alimentant le rendu markdown, les icônes SVG et l'affichage de contenu riche tout en maintenant la sécurité.
L'inférence de types Hindley-Milner dans un langage personnalisé
Comment FLIN utilise l'inférence de types Hindley-Milner pour déterminer les types sans annotations -- implémenté en Rust.
Des diagnostics d'erreurs qui aident vraiment
Comment les diagnostics d'erreurs de FLIN aident les développeurs : emplacements source, sortie colorée et messages lisibles par l'humain.
Le modèle temporel complet : ce qu'aucun autre langage n'offre
Rétrospective du modèle temporel complet de FLIN -- 152 sur 160 tâches, 10 catégories à 100 %, et pourquoi aucun autre langage de programmation n'offre le versionnement automatique, les requêtes de voyage dans le temps et l'analytique temporelle comme primitives du langage.