Suivant: , Précédent: , Monter: Interface de programmation   [Table des matières][Index]


8.13 Invoquer 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]