he definido un archivo de prólogo con el siguiente código:problema cuando se trata de definir un operador en Prolog
divisible(X, Y) :-
X mod Y =:= 0.
divisibleBy(X, Y) :-
divisible(X, Y).
op(35,xfx,divisibleBy).
Prolog se queja de que
'$ record_clause'/2: No tiene permiso para modificar static_procedure `op/3 '
¿Qué estoy haciendo mal? Quiero definir un operador divisibleBy que me permita escribir código como el siguiente:
4 divisibleBy 2
Thanks.
Más precisamente, eso se llama "directiva" en lugar de "llamada de predicado" o "evaluación de predicados". –
Una prioridad de 35 definitivamente no es recomendable para este predicado. – false