J'ai employé le thingy de gprolog pour faire quelques choses dans le prologue. Mais maintenant, en testant un peu plus de code, j'ai découvert qu'il ne supporte pas "false". Quel est le support de swi?Pourquoi prnu gnu ne supporte pas le "faux" prédicat? (J'ai changé pour swi)
4
A
Répondre
8
Utilisez fail
au lieu de false
. Je crois que le premier est dans la norme ISO pour Prolog. Dans le cas contraire, définir vous-même:
false :- 0=1.
ou
fail :- 0=1.
4
versions récentes de GNU Prolog (1.4.0) ne supportent false/0
.
false/0
n'est pas défini dans la norme ISO d'origine de 1995, mais est part of Cor.2:2012.
+0
Peut-être la construction pour mac – Algific
Est-ce que 'false: - fail' ne serait pas une définition plus claire, puisque vous indiquez en quelque sorte qu'ils ont le même effet et/ou sont synonymes? –
Ce que je voulais dire, c'est que si l'un des deux n'est pas disponible, c'est comme cela que l'un d'entre eux est implémenté. Changé ma réponse. –
En attendant, ISO Prolog a maintenant 'fail' et' false'. Il est disponible dans GNU et de nombreux autres systèmes. – false