Package net.hydromatic.morel.util
Class RobinsonUnifier
- java.lang.Object
-
- net.hydromatic.morel.util.Unifier
-
- net.hydromatic.morel.util.RobinsonUnifier
-
public class RobinsonUnifier extends Unifier
Robinson's unification algorithm.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.hydromatic.morel.util.Unifier
Unifier.Action, Unifier.Failure, Unifier.Result, Unifier.Sequence, Unifier.Substitution, Unifier.Term, Unifier.TermTerm, Unifier.TermVisitor<R>, Unifier.Variable
-
-
Constructor Summary
Constructors Constructor Description RobinsonUnifier()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static java.util.Map<Unifier.Variable,Unifier.Term>compose(java.util.Map<Unifier.Variable,Unifier.Term> s1, java.util.Map<Unifier.Variable,Unifier.Term> s2)Applies s1 to the elements of s2 and adds them into a single list.private Unifier.ResultsequenceUnify(Unifier.Sequence lhs, Unifier.Sequence rhs)(package private) static <E> java.util.List<E>skip(java.util.List<E> list)Unifier.Resultunify(java.util.List<Unifier.TermTerm> termPairs, java.util.Map<Unifier.Variable,Unifier.Action> termActions)Unifier.Resultunify(Unifier.Term lhs, Unifier.Term rhs)-
Methods inherited from class net.hydromatic.morel.util.Unifier
apply, apply, atom, failure, occurs, sequenceApply, substitution, variable, variable
-
-
-
-
Method Detail
-
compose
static java.util.Map<Unifier.Variable,Unifier.Term> compose(java.util.Map<Unifier.Variable,Unifier.Term> s1, java.util.Map<Unifier.Variable,Unifier.Term> s2)
Applies s1 to the elements of s2 and adds them into a single list.
-
sequenceUnify
@Nonnull private Unifier.Result sequenceUnify(Unifier.Sequence lhs, Unifier.Sequence rhs)
-
skip
static <E> java.util.List<E> skip(java.util.List<E> list)
-
unify
@Nonnull public Unifier.Result unify(java.util.List<Unifier.TermTerm> termPairs, java.util.Map<Unifier.Variable,Unifier.Action> termActions)
-
unify
@Nonnull public Unifier.Result unify(Unifier.Term lhs, Unifier.Term rhs)
-
-