[SWIPL] call/N - how much?

Manuel Carro mcarro@fi.upm.es
Wed, 8 Apr 2009 21:03:34 +0200

>> Almost unrelated: From time to time, people think about more general
>> ways for higher order predicates ; like apply/3 (not to be confounded
>> with apply/2 of SWI).  The last time, it was Lee Naish who did this -
>> approximately 15 years ago - reproposing the original proposal of
>> D.H.D. Warren of 1982.  Somehow the idea does not catch on.

Just for completeness, Daniel Cabeza implemented not so long ago an
approach for predicate abstractions which is part of Ciao and which
can be passed anywhere a predicate name can be passed:

?- foldl(["daniel","cabeza","gras"], "", (_(X,Y,Z) :- append(X, " "||Y, Z)), R).

R = "daniel cabeza gras " ?

"abc"||X is the Ciao idiom for a list starting with 0'a, 0'b, 0'c and
continuing with X.  A more powerful variant, unimplemented as of yet,
is in 

Hiord: A Type-Free Higher-Order Logic Programming Language with
Predicate Abstraction 
Daniel Cabeza, Manuel Hermenegildo, and James Lipton
ASIAN 2004

        MCL (mcarro_at_fi_dot_upm_dot_es)
This is a signature virus.  Add me to your signature and help me to live