Comment puis-je obtenir la somme des chiffres donnés dans le prologue?

Je suis nouveau sur prolog et je suis en train de faire quelques exercices pour la pratique. Donc, je vais essayer d'obtenir la somme des chiffres donnés dans une liste. Je suis en train d'utiliser cette:

my_last(X, [X]).  
my_last(X, [_|L]) :- my_last(X, L).

(à partir de ici)

que mon guide. C'est donc mon code pour obtenir la somme:

listsum(X, []).                  
listsum(X, [H|L]):-
    X is H + listsum(X, L).

quand je compile, il dit

pratique.pl:3: évaluables listsum(_G139,_G140) n'existe pas
de pratique.pl:2: Singleton variables: [X]

puis quand j'essaie listsum(0, [1,2,3]). il retourne false.

Je ne comprends toujours pas beaucoup sur le prologue, et la liste et la récursivité dans prolog.

Pour les 2 nombres est aussi simple que cela: swish.swi-prolog.org/p/Sum%20of%20two%20digits.pl

OriginalL'auteur Zik | 2012-07-17