Class Fold
java.lang.Object
org.projog.core.predicate.AbstractPredicateFactory
org.projog.core.predicate.builtin.list.Fold
- All Implemented Interfaces:
KnowledgeBaseConsumer, PredicateFactory, PreprocessablePredicateFactory
foldl(PredicateName, Values, Start, Result) - combines elements of a list into a single term.
See Wikipedia.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classprivate static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final intThe arity of the predicate represented by the first argument. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static booleanevaluateFold(PredicateFactory pf, Term action, List<Term> values, Term start, Term result) private static PredicategetFoldPredicate(PredicateFactory pf, Term action, Term values, Term start, Term result) protected PredicategetPredicate(Term atom, Term values, Term start, Term result) preprocess(Term arg) Methods inherited from class AbstractPredicateFactory
getArithmeticOperators, getFileHandles, getKnowledgeBase, getOperands, getPredicate, getPredicate, getPredicate, getPredicate, getPredicate, getPredicates, getProjogListeners, getSpyPoints, getTermFormatter, init, isRetryable, setKnowledgeBaseMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface PredicateFactory
getPredicate, isAlwaysCutOnBacktrack, isRetryable
-
Field Details
-
FIRST_ARG_ARITY
private static final int FIRST_ARG_ARITYThe arity of the predicate represented by the first argument.- See Also:
-
-
Constructor Details
-
Fold
public Fold()
-
-
Method Details
-
preprocess
- Specified by:
preprocessin interfacePreprocessablePredicateFactory
-
getPredicate
- Overrides:
getPredicatein classAbstractPredicateFactory
-
getFoldPredicate
-
toList
-
evaluateFold
-