Resultados de la búsqueda a petición "meta-predicate"

1 la respuesta

Procedimiento de mapa de Prolog que aplica el predicado a los elementos de la lista

¿Cómo se escribe un procedimiento Prologmap(List, PredName, Result) que aplica el predicadoPredName(Arg, Res) a los elementos deList, y devuelve el resultado en la listaResult? Por ejemplo test(N,R) :- R is N*N. ?- map([3,5,-2], test, L). L = ...

2 la respuesta

¿Por qué usamos '!' en prolog

Este es el código que estoy tratando de entender. co(X) :- co(X,[],L). co([],A,A):- write(A). co([X|Xs], A, L) :- p(X-Z,A,R), !, Z1 is Z+1, co(Xs, [X-Z1|R], L). co([X|Xs], A, L) :- co(Xs, [X-1|A], L). p(X-Y,[X-Y|R],R):- !. p(X,[H|Y], [H|Z]) :- ...

2 la respuesta

Relación de pares sobre la lista

El siguiente predicado de orden superior tiene éxito si todos los pares de elementos de la lista son verdaderos para una relación dada. ¿Existe un nombre común o mejor, más intencional para revelar esta relación? i motivación original para este ...

6 la respuesta

Prólogo: ¿Filtrar una lista?

Actualmente estoy trabajando en un proyecto muy corto en Prolog, y me quedé atascado tratando de aplicar un "filtro" que he creado en una lista. Tengo lo que podría llamar el filtro listo, pero no puedo aplicarlo. Sería mejor ...

2 la respuesta

Confiando en el orden de las reglas

Para calcular la distancia de Hamming entre dos listas de la misma longitud, utilizo

2 la respuesta

Prolog GNU - Operador Univ? Explicación de ello

Entonces el operador univ. No lo entiendo exactamente. Por ejemplo esto: foo(PredList,[H|_]) :- bar(PredList,H). foo(PredList,[_|T]) :- foo(PredList,T),!. bar([H|_],Item) :- G =.. [H,Item],G. bar([_|T],Item) :- bar(T,Item).¿Qué está haciendo ...