Je ne peux pas faire de sens de ceci: Si je donne Prolog reverse([], A).
cela fonctionne très bien, si je lui donne reverse(A, []).
et répondez ;
au premier suggestion qu'il pend!Prolog: inverse ([], A) inverse (A, [])
Pourquoi? (Même résultat pour les deux GNU Prolog et Prolog SICStus!)
[email protected]:~$ prolog
GNU Prolog 1.3.0
By Daniel Diaz
Copyright (C) 1999-2007 Daniel Diaz
| ?- reverse([], A).
A = []
yes
| ?- reverse(A, []).
A = [] ? ;
Fatal Error: global stack overflow (size: 32768 Kb,
environment variable used: GLOBALSZ)
[email protected]:~$
Je sais que c'est deux ou trois ans, mais juste pour mettre à jour: il est fixé dans une version ultérieure de 'gprolog'. Je cours la version 1.4.2 et le comportement de l'inverse agit juste comme leur manuel indique. Les deux cas instancient 'A' avec succès à' [] '. – lurker