J'ai défini un fichier Prolog avec le code suivant:problème lorsque vous essayez de définir un opérateur dans Prolog
divisible(X, Y) :-
X mod Y =:= 0.
divisibleBy(X, Y) :-
divisible(X, Y).
op(35,xfx,divisibleBy).
Prolog se plaint que
'$ record_clause'/2: Pas de permission pour modifier static_procedure `op/3 '
Qu'est-ce que je fais mal? Je veux définir un opérateur divisibleBy qui me permettra d'écrire le code comme suit:
4 divisibleBy 2
Merci.
Plus précisément, cela s'appelle "directive" plutôt que "appel de prédicat" ou "évaluation de prédicat". –
Une priorité de 35 n'est définitivement pas conseillée pour ce prédicat. – false