Liking cljdoc? Tell your friends :D

eva.query.datalog.protocols


Decoratedcljprotocol

bound-termsclj

(bound-terms pred)
(bound-terms pred v)
(bound-terms pred f v)

Returns/sets/updates a set of bindings corresponding to the decoration.

Returns/sets/updates a set of bindings corresponding to the decoration.

decorationclj

(decoration pred)

Returns a vector containing the indexes which are bound

Returns a vector containing the indexes which are bound
source

EDBcljprotocol

extensionsclj

(extensions edb coll-of-terms)

Given an extensional predicate and a collection of groups of terms, returns a sequence containing all distinct matches for any of the term groups.

Given an extensional predicate and a collection of groups of terms, returns a sequence containing all distinct matches for any of the term groups.
source

Evaluablecljprotocol

evaluationsclj

(evaluations ev coll-of-terms)

Given an evaluable predicate and a collection of groups of terms, returns a sequence containing all distinct matches for any of the term groups.

Given an evaluable predicate and a collection of groups of terms, returns a sequence containing all distinct matches for any of the term groups.
source

Expressivecljprotocol

expressionclj

(expression pred)

Returns `(~(sym pred) ~@(terms pred)).

Returns `(~(sym pred) ~@(terms pred)).
source

Predicatecljprotocol

evaluable?clj

(evaluable? pred)

Returns true if this predicate is evaluable -- answers by calculation.

Returns true if this predicate is evaluable -- answers by calculation.

extensional?clj

(extensional? pred)

Returns true if this predicate is backed by an edb.

Returns true if this predicate is backed by an edb.

negated?clj

(negated? pred)

Returns true if this instance of the predicate is negated.

Returns true if this *instance* of the predicate is negated.

required-bindingsclj

(required-bindings rule)

Returns a vector of indices, corresponding to variables that must be bound at rule invocation.

Returns a vector of indices, corresponding to variables that must be bound at rule invocation.

rule?clj

(rule? pred)

Returns true if this predicate represents the head of a rule in the program.

Returns true if this predicate represents the head of a rule in the program.

symclj

(sym pred)

Returns the symbol representing this predicate.

Returns the symbol representing this predicate.

termsclj

(terms pred)
(terms pred v)
(terms pred f v)

Returns/sets/updates an ordered collection of the terms.

Returns/sets/updates an ordered collection of the terms.
source

Programcljprotocol

evaluationclj

(evaluation program pred)

Returns a collection of tuples representing fully-bound terms of the evaluable predicate.

Returns a collection of tuples representing fully-bound terms of the evaluable predicate.

extensionclj

(extension program pred)

Returns a collection of tuples representing fully-bound terms of the extensional predicate.

Returns a collection of tuples representing fully-bound terms of the extensional predicate.

range-restricted?clj

(range-restricted? program rule)

In this program, is this rule range-restricted?

In this program, is this rule range-restricted?

relevant-rulesclj

(relevant-rules program pred)

Returns a collection of rules whose consequent consists of the supplied predicate.

Returns a collection of rules whose consequent consists of the supplied predicate.
source

Rulecljprotocol

antecedentsclj

(antecedents rule)

Returns a collection containing the antecedent predicates of this rule.

Returns a collection containing the antecedent predicates of this rule.

consequentclj

(consequent rule)

Returns the predicate that is the consequent of this rule.

Returns the predicate that is the consequent of this rule.

freshenclj

(freshen rule)

Freshens lvars in both the consequent and the antecedents.

Freshens lvars in both the consequent and the antecedents.

substclj

(subst rule unifier)

Applies the unifier to both consequent and antecedents.

Applies the unifier to both consequent and antecedents.
source

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close