Suivant: Utiliser Guix de manière interactive, Précédent: G-Expressions, Monter: Interface de programmation [Table des matières][Index]
guix repl
La commande guix repl
facilite la programmation de Guix dans Guile
en lançant une boucle Guile read-eval-print. (REPL) pour la
programmation interactive (voir Using Guile Interactively dans GNU
Guile Reference Manual), ou en exécutant des scripts Guile (voir (GNU Guile Reference Manual)guile). Par rapport au simple
lancement de la commande guile
, guix repl
garantit que
tous les modules Guix et toutes ses dépendances sont disponibles dans le
chemin de recherche.
La syntaxe générale est :
guix repl option fichier args]
Lorsqu’un argument file est fourni, file est exécuté comme un script Guile :
guix repl mon-script.scm
Pour passer des arguments au script, utilisez --
pour éviter qu’ils
ne soient interprétés comme des arguments pour guix repl
lui-même
:
guix repl -- mon-script.scm --input=toto.txt
Pour rendre exécutable un script directement depuis le shell, en utilisant l’exécutable guix qui se trouve dans le chemin de recherche utilisateur·rice, ajoutez les deux lignes suivantes en haut du script :
#!/usr/bin/env -S guix repl --
!#
Pour écrire un script qui lance une REPL interactive directement depuis le
shell, utilisez le drapeau --interactive
:
#!/usr/bin/env -S guix repl --interactive
!#
En l’absence d’un argument de nom de fichier, une REPL guile est lancé, ce qui permet de l’utiliser de manière interactive (voir Utiliser Guix de manière interactive) :
$ guix repl scheme@(guile-user)> ,use (gnu packages base) scheme@(guile-user)> coreutils $1 = #<package coreutils@8.29 gnu/packages/base.scm:327 3e28300>
En plus, guix repl
implémente un protocole REPL simple lisible par
une machine à utiliser avec (guix inferior)
, un dispositif pour
interagir avec des inférieurs, des processus séparés qui font tourner
une version potentiellement différente de Guix.
Les options disponibles sont les suivantes :
--list-types
Affiche les options de TYPE pour guix repl --type=TYPE
et
quitte.
--type=type
-t type
Démarrer un REPL du type donné, qui peut être l’un de ces types :
guile
C’est la valeur par défaut. Elle démarre un REPL Guile standard fonctionnel.
machine
Démarre un REPL qui utilise le protocole lisible par machine. C’est le
protocole que parle le module (guix inferior)
.
--listen=extrémité
Par défaut, guix repl
lit depuis l’entrée standard et écrit sur la
sortie standard. Lorsque cette option est passée, il écoutera plutôt les
connexions sur endpoint. Voici un exemple d’options valides :
--listen=tcp:37146
Accepte les connexions sur localhost, sur le port 31.
--listen=unix:/tmp/socket
Accepte les connexions sur le socket Unix-domain /tmp/socket.
--interactive
-i
Lance la REPL interactive après avoir exécuté file.
--load-path=répertoire
-L répertoire
Ajoute répertoire au début du chemin de recherche de module de paquets (voir Modules de paquets).
Cela permet à des utilisateurs de définir leur propres paquets et les rendre disponibles au script ou au REPL.
-q
Inhiber le chargement du fichier ~/.guile. Par défaut, ce fichier de
configuration est chargé lors de la création d’un fichier
guile
. REPL.
Suivant: Utiliser Guix de manière interactive, Précédent: G-Expressions, Monter: Interface de programmation [Table des matières][Index]