Xalg / Fix / Le REPL
Navigation
Apprendre
Recettes
Référence
Comprendre
Bonnes pratiques
En pratique
Explications

Le REPL

Charge un programme sans --test et tu es dans le REPL : une session interactive où tu interroges, modifies et inspectes le programme, point fixe recalculé à chaque changement.


Interroger

Tape un but suivi d'un point — le moteur donne toutes les réponses :

?- impacte(web, X).
X = api
X = db

Un but qui n'a aucune solution répond false. ; un but clos (sans variable) répond true. ou false..


Modifier la session

?- :assert depend(batch, db).
ok — fait asséré. Fix v3.1.0 — 4 faits, 2 règles → fixpoint : 10 faits
CommandeEffet
:assert Clause.ajoute un fait ou une règle (le point fixe est recalculé)
:retract Clause.retire un fait ou une règle
:load <fichier>ingère un autre .fix dans la session courante
:reloadrecharge le fichier source depuis zéro (refusé en mode base)

Chaque :assert/:retract re-typecheck juste ce qu'il faut : une clause mal typée est refusée comme à la compilation (le typage fort n'a pas de porte dérobée).


Inspecter et sauvegarder

CommandeEffet
:listingaffiche les faits et règles du programme courant
:save <fichier>écrit la session (règles + faits d'entrée) dans un .fix rechargeable
:db(mode base) diagnostic : chemin, transactions, tailles

Se documenter, sans quitter

CommandeEffet
:help <sujet>la fiche d'un sujet ou d'un code de refus (:help types, :help rule_growing)
:demo <sujet>rejoue un exemple canonique dans un bac à sablequit revient, session restaurée
:quit | :haltsortir (alias nus : quit, halt, exit)

La doc vit dans le moteur : :help lit le même catalogue interrogeable que le reste — Lire un refus.


Et ensuite