Package net.hydromatic.morel.util
Class RobinsonUnifier
java.lang.Object
net.hydromatic.morel.util.Unifier
net.hydromatic.morel.util.RobinsonUnifier
Robinson's unification algorithm.
-
Nested Class Summary
Nested classes/interfaces inherited from class net.hydromatic.morel.util.Unifier
Unifier.Action, Unifier.Constraint, Unifier.CycleException, Unifier.Failure, Unifier.Result, Unifier.Retry, Unifier.Sequence, Unifier.Substitution, Unifier.SubstitutionResult, Unifier.Term, Unifier.TermTerm, Unifier.TermVisitor<R>, Unifier.Tracer, Unifier.Variable -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) static Map<Unifier.Variable, Unifier.Term> Applies s1 to the elements of s2 and adds them into a single list.private @NonNull Unifier.ResultsequenceUnify(Unifier.Sequence lhs, Unifier.Sequence rhs) @NonNull Unifier.Resultunify(List<Unifier.TermTerm> termPairs, Map<Unifier.Variable, Unifier.Action> termActions, List<Unifier.Constraint> constraints, Unifier.Tracer tracer) @NonNull Unifier.Resultunify(Unifier.Term lhs, Unifier.Term rhs) Methods inherited from class net.hydromatic.morel.util.Unifier
apply, apply, atom, atomUnique, constraint, constraint, failure, occurs, sequenceApply, substitution, variable, variable, variable
-
Constructor Details
-
RobinsonUnifier
public RobinsonUnifier()
-
-
Method Details
-
compose
static Map<Unifier.Variable,Unifier.Term> compose(Map<Unifier.Variable, Unifier.Term> s1, Map<Unifier.Variable, Unifier.Term> s2) Applies s1 to the elements of s2 and adds them into a single list. -
sequenceUnify
-
unify
public @NonNull Unifier.Result unify(List<Unifier.TermTerm> termPairs, Map<Unifier.Variable, Unifier.Action> termActions, List<Unifier.Constraint> constraints, Unifier.Tracer tracer) -
unify
-