je voudrai me mettre à prolog et en profiter pour apprendre ce langage à ma copine qui est linguiste de formation.
J'ai essayé rapidement swi-prolog et gprolog, et ces deux compilateurs m'obligent à mettre mon code dans un fichier, ce qui est pas pratique du tout quand on veut débuter et jouer avec des petits programmes de quelques lignes.
Par exemple, je voudrai lui faire rentrer :
parent(bob_senior,bob).
parent(bob,bob_junior).
parent(tres_vieux,vieux).
parent(vieux,jeune).
parent(jeune,tres_jeune).
parent(bob,bobby).
gp(X,Y) :- parent(X,Z),parent(Z,Y).
parent(X,Y).
tout cela en intéractif, et qu'il me réponde interractivement.
Un peu comme l'interpréteur Ocaml, ça serait parfait.
Est-ce que cela existe, ou est-ce possible avec l'existant ?
Merci.
# Interpréteur prolog.
Posté par Pol' uX (site web personnel) . Évalué à 2.
gprolog et swi-prolog *sont* des interpréteurs. Tu peux donc les démarrer, et faire joujou avec, en rentrant tes commandes.
Adhérer à l'April, ça vous tente ?
[^] # Re: Interpréteur prolog.
Posté par B16F4RV4RD1N . Évalué à 3.
http://gollem.science.uva.nl/SWI-Prolog/Manual/quickstart.ht(...)
"After starting Prolog, one normally loads a program into it using consult/1,"
http://www-ipst.u-strasbg.fr/pat/program/prolog/
"Solution interactive : appeler pl, puis donner comme but : consult(nomfic). Ne pas oublier le point, il est inutile d'ajouter le .pl qui est ajouté par défaut au nom du fichier."
dommage car si mes souvenirs sont bons, quand j'avais fait un peu de prolog à l'école, c'était justement en partie en mode interactif il me semble.
Si cela t'intéresse Ontologia, je peux t'envoyer les programmes que l'on avait fait, je ne sais pas trop si cela sera compatible, en tout cas c'est dans le domaine qui t'intéresse puisque c'est de la linguistique (analyseur syntaxique, par exemple pour conjuguer un verbe dans différente langue (j'ai norvégien, polonais, italien...). Je peux également te passer arity prolog version dos, normalement c'est en interactif, par contre il faut configurer le clavier de dosbox en azerty :=)
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Interpréteur prolog.
Posté par Pol' uX (site web personnel) . Évalué à 3.
D'ailleurs on le voit très bien sur la page que tu cite ;-)
Bien sûr, en usage normal tu charge un fichier ... pour ne pas tout reprendre à zéro à chaque fois.
> Je peux également te passer arity prolog version dos
tss tss ... on est sur linuxfr.org, et en plus c'est pas libre : http://www.arity.com/Prolog/aplic.htm
Adhérer à l'April, ça vous tente ?
[^] # Re: Interpréteur prolog.
Posté par B16F4RV4RD1N . Évalué à 2.
?- parent(bob_senior,bob).
ERROR: Undefined procedure: parent/2
?-
je constate également qu'il doit y avoir des différences d'un prolog à un autre, car les programmes que l'on faisait à l'époque (je ne sais plus quel programme, mais c'était sous mac), ne passent pas sous swi-prolog, mais passent avec ariti.
Syntax error: Operator expected
il bloque à ce passage :
mot_lettres(X,X1):- % atome -> chaine
not var(X),!,name(X,Codes),
name1(Codes,X1).
mot_lettres(X,X1) :- % chaine -> atome
not var(X1), name1(Codes,X1),
name(X,Codes).
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Interpréteur prolog.
Posté par Amand Tihon (site web personnel) . Évalué à 4.
Et pourtant... Petit exemple avec gprolog :
| ?- [user].
compiling user for byte code...
parent(bob_senior,bob).
^D
| ?- parent(X,bob).
X = bob_senior
yes
| ?-
En espérant que ça aide.
[^] # Re: Interpréteur prolog.
Posté par B16F4RV4RD1N . Évalué à 2.
Bizarre aussi le coup du control + D.
Si on attend cela n'aboutit pas apparemment.
Si on le fait après [user]. il n'accepte pas parent(bob_senior,bob).
Si on le fait après parent(bob_senior,bob). , on peut continuer mais la commande gp(X,Y) :- parent(X,Z),parent(Z,Y). ne semble pas fonctionner...
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Interpréteur prolog.
Posté par Ontologia (site web personnel) . Évalué à 2.
A priori ça a été créé pour ça...
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Interpréteur prolog.
Posté par Pol' uX (site web personnel) . Évalué à 2.
Adhérer à l'April, ça vous tente ?
[^] # Re: Interpréteur prolog.
Posté par B16F4RV4RD1N . Évalué à 2.
http://www.alice.unibo.it/tuProlog/
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Interpréteur prolog.
Posté par B16F4RV4RD1N . Évalué à 2.
certains prolog autorisent : not var(X),!,name(X,Codes) etc
mais en swi-prolog ou gprolog, apparemment il faut écrire:
not(var(X)),!,name(X,Codes) etc
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.