Uses of Interface
net.hydromatic.morel.util.Unifier.Term
-
Packages that use Unifier.Term Package Description net.hydromatic.morel.compile Validates programs (represented asAstNode), deduces their type, and compiles them into code that can be evaluated.net.hydromatic.morel.util Utilities. -
-
Uses of Unifier.Term in net.hydromatic.morel.compile
Fields in net.hydromatic.morel.compile declared as Unifier.Term Modifier and Type Field Description (package private) Unifier.TermTypeResolver.TermVariable. termFields in net.hydromatic.morel.compile with type parameters of type Unifier.Term Modifier and Type Field Description private Map<AstNode,Unifier.Term>TypeResolver. mapprivate Map<AstNode,Unifier.Term>TypeMap. nodeTypeTermsprivate Function<TypeSystem,Unifier.Term>TypeResolver.BindTypeEnv. termFactoryMethods in net.hydromatic.morel.compile that return Unifier.Term Modifier and Type Method Description private Unifier.TermTypeResolver. fieldRecord(Map<Ast.Id,Unifier.Variable> fieldVars)Unifier.TermTypeResolver.BindTypeEnv. get(TypeSystem typeSystem, String name, Function<String,RuntimeException> exceptionFactory)Unifier.TermTypeResolver.EmptyTypeEnv. get(TypeSystem typeSystem, String name, Function<String,RuntimeException> exceptionFactory)Unifier.TermTypeResolver.TypeEnv. get(TypeSystem typeSystem, String name, Function<String,RuntimeException> exceptionFactory)private Unifier.TermTypeResolver. record(NavigableMap<String,? extends Unifier.Term> labelTypes)private Unifier.TermTypeResolver. toTerm(PrimitiveType type)private Unifier.TermTypeResolver. toTerm(Type type, TypeResolver.Subst subst)private Unifier.TermTypeResolver. tuple(List<Unifier.Term> types)Methods in net.hydromatic.morel.compile that return types with arguments of type Unifier.Term Modifier and Type Method Description private List<Unifier.Term>TypeResolver. toTerms(Iterable<? extends Type> types, TypeResolver.Subst subst)Methods in net.hydromatic.morel.compile with parameters of type Unifier.Term Modifier and Type Method Description default TypeResolver.TypeEnvTypeResolver.TypeEnv. bind(String name, Unifier.Term term)private voidTypeResolver. equiv(Unifier.Term term, Unifier.Term term2)private voidTypeResolver. equiv(Unifier.Term term, Unifier.Variable atom)private <E extends AstNode>
ETypeResolver. reg(E node, Unifier.Variable variable, Unifier.Term term)(package private) TypeTypeMap. termToType(Unifier.Term term)Constructors in net.hydromatic.morel.compile with parameters of type Unifier.Term Constructor Description TermVariable(Unifier.Term term, Unifier.Variable variable)Constructor parameters in net.hydromatic.morel.compile with type arguments of type Unifier.Term Constructor Description BindTypeEnv(String definedName, Function<TypeSystem,Unifier.Term> termFactory, TypeResolver.TypeEnv parent)TypeMap(TypeSystem typeSystem, Map<AstNode,Unifier.Term> nodeTypeTerms, Unifier.Substitution substitution) -
Uses of Unifier.Term in net.hydromatic.morel.util
Classes in net.hydromatic.morel.util that implement Unifier.Term Modifier and Type Class Description static classUnifier.SequenceA sequence of terms.static classUnifier.VariableA variable that represents a symbol or a sequence; unification's task is to find the substitutions for such variables.Fields in net.hydromatic.morel.util declared as Unifier.Term Modifier and Type Field Description (package private) Unifier.TermUnifier.TermTerm. left(package private) Unifier.TermUnifier.TermTerm. rightFields in net.hydromatic.morel.util with type parameters of type Unifier.Term Modifier and Type Field Description Map<Unifier.Variable,Unifier.Term>Unifier.Substitution. resultMapThe result of the unification algorithm proper.List<Unifier.Term>Unifier.Sequence. termsMethods in net.hydromatic.morel.util that return Unifier.Term Modifier and Type Method Description Unifier.TermUnifier.Sequence. apply(Map<Unifier.Variable,Unifier.Term> substitutions)Unifier.TermUnifier.Term. apply(Map<Unifier.Variable,Unifier.Term> substitutions)Unifier.TermUnifier.Variable. apply(Map<Unifier.Variable,Unifier.Term> substitutions)Unifier.TermUnifier. atom(String name)Creates an atom, or returns an existing one with the same name.Unifier.TermUnifier.Substitution. resolve(Unifier.Term term)Methods in net.hydromatic.morel.util that return types with arguments of type Unifier.Term Modifier and Type Method Description (package private) static Map<Unifier.Variable,Unifier.Term>RobinsonUnifier. 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.Methods in net.hydromatic.morel.util with parameters of type Unifier.Term Modifier and Type Method Description voidUnifier.Action. accept(Unifier.Variable variable, Unifier.Term term, Unifier.Substitution substitution, List<Unifier.TermTerm> termPairs)private voidMartelliUnifier. act(Unifier.Variable variable, Unifier.Term term, List<Unifier.TermTerm> termPairs, Unifier.Substitution substitution, Map<Unifier.Variable,Unifier.Action> termActions, int depth)Unifier.SequenceUnifier. apply(String operator, Unifier.Term... args)Creates a sequence, or returns an existing one with the same terms.static Unifier.SubstitutionResultUnifier.SubstitutionResult. create(Unifier.Variable v, Unifier.Term t)Creates a substitution result with one (variable, term) entry.voidTracers.NullTracer. onCycle(Unifier.Variable variable, Unifier.Term term)voidTracers.PrintTracer. onCycle(Unifier.Variable variable, Unifier.Term term)voidUnifier.Tracer. onCycle(Unifier.Variable variable, Unifier.Term term)voidTracers.NullTracer. onDelete(Unifier.Term left, Unifier.Term right)voidTracers.PrintTracer. onDelete(Unifier.Term left, Unifier.Term right)voidUnifier.Tracer. onDelete(Unifier.Term left, Unifier.Term right)voidTracers.NullTracer. onSubstitute(Unifier.Term left, Unifier.Term right, Unifier.Term left2, Unifier.Term right2)voidTracers.PrintTracer. onSubstitute(Unifier.Term left, Unifier.Term right, Unifier.Term left2, Unifier.Term right2)voidUnifier.Tracer. onSubstitute(Unifier.Term left, Unifier.Term right, Unifier.Term left2, Unifier.Term right2)voidTracers.NullTracer. onSwap(Unifier.Term left, Unifier.Term right)voidTracers.PrintTracer. onSwap(Unifier.Term left, Unifier.Term right)voidUnifier.Tracer. onSwap(Unifier.Term left, Unifier.Term right)voidTracers.NullTracer. onVariable(Unifier.Variable variable, Unifier.Term term)voidTracers.PrintTracer. onVariable(Unifier.Variable variable, Unifier.Term term)voidUnifier.Tracer. onVariable(Unifier.Variable variable, Unifier.Term term)Unifier.TermUnifier.Substitution. resolve(Unifier.Term term)Unifier.SubstitutionUnifier. substitution(Unifier.Term... varTerms)Creates a substitution.Unifier.ResultRobinsonUnifier. unify(Unifier.Term lhs, Unifier.Term rhs)Method parameters in net.hydromatic.morel.util with type arguments of type Unifier.Term Modifier and Type Method Description Unifier.SequenceUnifier. apply(String operator, Iterable<? extends Unifier.Term> args)Creates a sequence, or returns an existing one with the same terms.Unifier.TermUnifier.Sequence. apply(Map<Unifier.Variable,Unifier.Term> substitutions)Unifier.TermUnifier.Term. apply(Map<Unifier.Variable,Unifier.Term> substitutions)Unifier.TermUnifier.Variable. apply(Map<Unifier.Variable,Unifier.Term> substitutions)voidUnifier.Sequence. checkCycle(Map<Unifier.Variable,Unifier.Term> map, Map<Unifier.Variable,Unifier.Variable> active)voidUnifier.Term. checkCycle(Map<Unifier.Variable,Unifier.Term> map, Map<Unifier.Variable,Unifier.Variable> active)Throws CycleException if expanding this term leads to a cycle.voidUnifier.Variable. checkCycle(Map<Unifier.Variable,Unifier.Term> map, Map<Unifier.Variable,Unifier.Variable> active)private static voidUnifier. checkCycles(Map<Unifier.Variable,Unifier.Term> map, Map<Unifier.Variable,Unifier.Variable> active)(package private) static Map<Unifier.Variable,Unifier.Term>RobinsonUnifier. 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.static Unifier.SubstitutionResultUnifier.SubstitutionResult. create(Map<Unifier.Variable,Unifier.Term> resultMap)Creates a substitution result from a map.private booleanUnifier.Substitution. hasCycles(Map<Unifier.Variable,Unifier.Term> map)(package private) static Unifier.SequenceUnifier. sequenceApply(String operator, Map<Unifier.Variable,Unifier.Term> substitutions, Iterable<Unifier.Term> terms)(package private) static Unifier.SequenceUnifier. sequenceApply(String operator, Map<Unifier.Variable,Unifier.Term> substitutions, Iterable<Unifier.Term> terms)private voidMartelliUnifier. substituteList(List<Unifier.TermTerm> termPairs, Unifier.Tracer tracer, Map<Unifier.Variable,Unifier.Term> map)Applies a mapping to all term pairs in a list, modifying them in place.Constructors in net.hydromatic.morel.util with parameters of type Unifier.Term Constructor Description TermTerm(Unifier.Term left, Unifier.Term right)Constructor parameters in net.hydromatic.morel.util with type arguments of type Unifier.Term Constructor Description Sequence(String operator, List<Unifier.Term> terms)Substitution(Map<Unifier.Variable,Unifier.Term> resultMap)SubstitutionResult(Map<Unifier.Variable,Unifier.Term> resultMap)
-