Conjunction class

A conjunction of goals (the , operator in Prolog) evaluated sequentially.

For example:

final conj = Conjunction([
  Term('parent', [Variable('X'), Variable('Y')]),
  Term('parent', [Variable('Y'), Variable('Z')]),
]);
Inheritance
Annotations
  • @immutable

Constructors

Conjunction(Iterable<Node> list)
Creates a conjunction from an iterable list of goal nodes.
factory

Properties

arguments → List<Node>
The argument nodes of the compound term.
finalinherited
hashCode → int
The hash code for this object.
no setteroverride
name → String
The functor name of the term.
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

match(Node other) → Map<Variable, Node>?
Attempts to unify this node with other, returning variable bindings or null.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
query(Database database) → Iterable<Node>
Evaluates this term as a goal against database.
override
substitute(Map<Variable, Node>? bindings) → Conjunction
Substitutes variables in this node with their bound values in bindings.
override
toString() → String
A string representation of this object.
override

Operators

operator ==(Object other) → bool
The equality operator.
override