{{tag>programmation BROUILLON}}
====== Prolog ======
Prolog est l'un des principaux langages de programmation logique.
Pour plus d'informations, allez sur [[https://fr.wikipedia.org/wiki/Prolog|Wikipedia]].
Il existe plusieurs interpréteurs de Prolog sur Linux.
Attention ! Des différences d'interprétation du code Prolog peuvent exister d'un interpréteur à l'autre. C'est le cas par exemple entre SWI-Prolog et Sicstus Prolog lors de l'utilisation de la programmation logique par contrainte.
===== SWI-Prolog =====
C'est l'un des interpréteurs les plus utilisés sous Linux. Il est développé par l'Université d'Amsterdam. [[https://www.swi-prolog.org/|Site officiel]]
Capacités : il possède un débuggeur graphique ainsi que plusieurs solveurs de contraintes.
==== Installation ====
Il faut juste [[:tutoriel:comment_installer_un_paquet|installez le paquet]] [[apt>swi-prolog|swi-prolog]] :
sudo apt-get install swi-prolog
Utiliser maintenant la commande prolog pour lancer l'interpréteur.
prolog
==== Utilisation avec Emacs ====
Il est possible d'installer la coloration syntaxique et l'interpréteur dans [[Emacs]].
Commencez d'abord par installer le paquet [[apt>prolog-el|prolog-el]] :
sudo apt-get install prolog-el
Ensuite éditez votre fichier **~/.emacs** pour y ajouter les lignes suivantes :
;; Ajout du mode Prolog
(autoload 'run-prolog "prolog" "Start a Prolog sub-process." t)
(autoload 'prolog-mode "prolog" "Major mode for editing Prolog programs." t)
(autoload 'mercury-mode "prolog" "Major mode for editing Mercury programs." t)
(setq prolog-system 'swi)
(setq auto-mode-alist (append '(("\\.pl$" . prolog-mode)
("\\.m$" . mercury-mode))
auto-mode-alist))
Voilà, l'interpréteur est installé. Maintenant, pour l'utiliser, ouvrez un fichier avec l'extension **.pl**, et tapez votre programme Prolog dedans. Pour l'interpréter, allez dans le menu **Prolog** et cliquez sur **Consult file**. Une invite apparaît alors en dessous, dans laquelle vous pouvez interroger votre programme Prolog.
===== GNU Prolog =====
Un autre interpréteur similaire à SWI-Prolog. Celui-ci est développé par l'INRIA. [[http://www.gprolog.org/|Site officiel]]
Capacités : il propose un solveur de contraintes sur domaine fini.
==== Installation ====
Cela se passe par l'installation du paquet [[apt>gprolog|gprolog]] :
sudo apt-get install gprolog
Utiliser maintenant la commande gprolog pour lancer l'interpréteur :
gprolog
===== TkECLiPSe =====
TkECLIPSe est un logiciel open-source pour le développement et le déploiement des applications de programmation par contraintes.
Il est idéal pour l'enseignement des aspects de problèmes combinatoires. Il contient plusieurs bibliothèques.
Grâce à son interface graphique, il est très pratique pour programmer en Prolog.
==== Installation ====
Commencez par choisir votre version : [[http://eclipseclp.org/Distribution|Distribution]].
Sélectionner le dossier adapté à votre architecture système : x86_64_linux.
Puis télécharger l'archive : [[http://eclipseclp.org/Distribution/Current/6.1_168_x86_64_linux/eclipse_basic.tgz]].
mkdir eclipse_basic
tar -zxvf eclipse_basic.tgz -C eclipse_basic
cd eclipse_basic/
Pour vérifier le type de votre architecture :
./ARCH
Puis lancez l'installation :
./RUNME
Le programme va vous demander où installer le programme et l'emplacement de votre [[Java|JRE]].
Une fois l'installation terminée, le message suivant s'affichera :
ECLiPSe installation done.
You should now add $ECLIPSEDIR/bin/i386_linux
to your PATH environment variable.
Pour cela, tapez la commande suivante en remplaçant $ECLIPSEDIR par le répertoire adéquat (exemple : /home/bob/eclipse_basic)
export PATH=$PATH:$ECLIPSEDIR/bin/i386_linux
==== Utilisation ====
Pour lancer tkeclipse :
tkeclipse
Vous pouvez maintenant commencer à coder :
{{:tkeclipse.png?500|TkEclipse}}
===== Sisctus Prolog =====
Sicstus Prolog. Cet interpréteur n'est pas libre, mais peut fonctionner sous Linux. [[http://www.sics.se/sicstus/|Site officiel]]
FIXME