120

Sally :
let retournerliste =
  let rec retournerliste nliste = function
      [] -> nliste
    | tete :: corps -> retournerliste (tete :: nliste) corps
  in retournerliste ([`a; `b; `c; `d; `e; `f; `g], [])


rliste [`a; `b; `c; `d; `e; `f; `g] []La dernière ligne, ça devrait pas être in retourne ? (copier coller sux tongue)
avatar
I'm on a boat motherfucker, don't you ever forget

121

• Sally furtive

(effectivement copier-coller sux, mais les backquotes ça sux tellement à taper...)
sauf qu'en plus c'est l'inverse : in retournerliste [] [`a; `b; `c; `d; `e; `f; `g]

Kevin > effectivement. Il se trouve que les exemples que m'a donnés Nil ressemblaient beaucoup à du caml (parce qu'en fait, ce qu'il définit dans ce cas particulier, c'est bien des fonctions), mais ton exemple n'est pas du tout aussi trivial à transformer à cause de ce double-sens.
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

122

Hibou > Oui, on peut manipuler des liste (heureusement, d'ailleurs, parce que ne travailler qu'avec des assertions, c'est assez limitant)
avatar

123

nil> et c'est tout ?
un tel langage peut etre utiliser dans le monde industriel ??

124

euh je pense que oui mais pour des applications spécifiques (par exemple gestion de bases de données, comme déjà dit) (bon je voulais citer le doc de Nil mais j'arrive pas à copier-coller neutral, enfin il cite quelques autres applications), mais ce n'est pas a priori un langage à vocation généraliste comme le caml.

(D'ailleurs une petite remarque : d'après ce que j'ai compris la structure de liste n'est pas builtin, il y a en fait juste des couples. Une liste est construite comme (a,(b,(c,(d,())))) mais rien ne t'empêche apparemment lors d'une manipulation de faire des bêtises qui cassent cette structure.)
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

125

Par rapport aux listes et à la note de Sally, oui, crayon.
Comme j'ai dit plus haut, le Prolog ne sert que rarement à développer des applis indépendantes, mais est le plus souvent interfacé avec un autre langage/une autre appli. On peut quand même développer des micro applications (comme le programme que j'avais fait en projet), mais avec des fonctionnalités très spécifiques à certains interpréteurs. Le LPA Prolog (surtout la version Windows) peut-être utilisé ainsi.
avatar