Apprendre Fix
Avec Fix, tu ne codes pas une marche à suivre : tu décris ce qui est vrai, et le moteur trouve le reste — fortement typé, il refuse tôt ce qui n'a pas de sens. Ce parcours te l'apprend au clavier : chaque étape se fait, ne se lit pas — tu tapes, tu vois exactement les sorties montrées, et tu repars avec un programme qui tourne et ses tests verts.
Le fil rouge : un plan de services (qui dépend de qui, qui est lent, qui est impacté), qui grandit d'étape en étape jusqu'au sommet du parcours — en dériver un schéma SQL et des routes d'API, par les mêmes règles.
| Étape | Tu apprends | Le refus que tu y rencontres |
|---|---|---|
| 1. Les bases (~30 min) | faits, règles, requêtes ; le typage, tout de suite ; le REPL ; tester ; calculer | le fait mal typé et la règle croissante |
| 2. Les types (~30 min) | fermer un vocabulaire, le kind (inféré, jamais déclaré), structurer (list(T)) — puis, plus avancé : types affinés (TLLP), types qui calculent (RDT) | le fait mal typé, mort à la compilation |
| 3. Interroger (~20 min) | la négation stratifiée, les agrégats | le cycle négatif, l'agrégat non-idempotent |
| 4. Les modules (~15 min) | organiser derrière des frontières étanches | le prédicat non exporté |
| 5. La syntaxe (~20 min) | déclarer une notation : l'AST + la syntaxe, lire/ecrire | — |
| 6. Dériver (~15 min) | transformer un modèle en un autre, texte à texte (TDE) | — |
Les refus font partie du programme : Fix garantit terminaison et typage en refusant tôt ce qu'il ne peut pas garantir. Apprendre Fix, c'est pour moitié apprendre à lire ses refus — chaque étape t'en fait vivre un, exprès, et t'apprend la réécriture qui passe.
Avant de commencer
Il te faut le binaire fix : depuis la racine du dépôt, ./install.sh. Le détail — options, désinstaller, MCP — est dans En pratique.
Et ensuite
- Une question ponctuelle ? → Recettes
- La forme exacte d'une construction ? → Référence
- Le pourquoi (déterminisme, TDE, bidirectionnel) ? → Comprendre