La ligne de commande
Le binaire fix fait tout depuis un terminal : charger un programme, lancer ses tests, ouvrir une session interactive, persister une base.
Forme générale
fix [options] [<fichier.fix>]
Sans fichier, fix ouvre une session REPL vide. Avec un fichier, il le charge (calcule le point fixe) puis ouvre le REPL sur ce programme.
$ fix services.fix
Fix v3.1.0 — 3 faits, 2 règles → fixpoint : 8 faits
?-
Les options
| Option | Effet |
|---|---|
--test | lance les tests test/2 du fichier et sort (0 si tout passe) |
--tour | rejoue le parcours d'apprentissage, jugé, sans fichier |
--strict-types | exige une signature sig pour chaque prédicat |
--strict-subtype | active la vérification nominale des sous-types |
--db <base.fixdb> | mode base persistante (spec 47) — voir La persistance |
--db-repair <base> | répare une base au journal corrompu (tronque au dernier point acquitté) |
--base-dir <dir> | racine pour résoudre les include/:load relatifs |
--help | l'aide, puis sort |
--version | la version, puis sort |
fix --test combiné à --db est refusé (une suite de tests ne mute pas une base).
Tester
$ fix --test services.fix
suite (principal)
✓ db_ne_depend_de_rien
✓ web_impacte_db
─────────────────────────────────
1 suite(s) · 2 passé(s) · 0 échoué(s)
Un test est un fait test/2 ordinaire (holds = doit être dérivé, fails = ne doit pas l'être) — Recettes §Tester.
Et ensuite
- Les commandes interactives (
:assert,:help,:demo…) → Le REPL - Persister une session → La persistance