Uses of Class
net.hydromatic.morel.util.Unifier.Variable
Packages that use Unifier.Variable
Package
Description
Validates programs
(represented as
AstNode),
deduces their type,
and compiles them into code that can be evaluated.Utilities.
-
Uses of Unifier.Variable in net.hydromatic.morel.compile
Fields in net.hydromatic.morel.compile declared as Unifier.VariableModifier and TypeFieldDescription(package private) final Unifier.VariableTypeResolver.PlusSubst.variable(package private) final Unifier.VariableTypeResolver.TermVariable.variableFields in net.hydromatic.morel.compile with type parameters of type Unifier.VariableModifier and TypeFieldDescriptionprivate final Map<Unifier.Variable, Unifier.Action> TypeResolver.actionMapprivate final PairList<Unifier.Variable, PrimitiveType> TypeResolver.preferredTypesMethods in net.hydromatic.morel.compile that return Unifier.VariableModifier and TypeMethodDescription(package private) Unifier.Variable(package private) Unifier.Variable(package private) abstract Unifier.VariableMethods in net.hydromatic.morel.compile that return types with arguments of type Unifier.VariableModifier and TypeMethodDescriptionprivate Pair<TypeResolver.TypeEnv, Unifier.Variable> TypeResolver.deduceStepType(TypeResolver.TypeEnv env, Ast.FromStep step, Unifier.Variable v, TypeResolver.TypeEnv env2, Map<Ast.Id, Unifier.Variable> fieldVars, List<Ast.FromStep> fromSteps) Methods in net.hydromatic.morel.compile with parameters of type Unifier.VariableModifier and TypeMethodDescriptionTypeResolver.deduceMatchListType(TypeResolver.TypeEnv env, List<Ast.Match> matchList, NavigableSet<String> labelNames, Unifier.Variable argVariable, Unifier.Variable resultVariable) private Ast.MatchTypeResolver.deduceMatchType(TypeResolver.TypeEnv env, Ast.Match match, Map<Ast.IdPat, Unifier.Term> termMap, Unifier.Variable argVariable, Unifier.Variable resultVariable) private Ast.PatTypeResolver.deducePatType(TypeResolver.TypeEnv env, Ast.Pat pat, Map<Ast.IdPat, Unifier.Term> termMap, NavigableSet<String> labelNames, Unifier.Variable v) Derives a type term for a pattern, collecting the names of pattern variables.private Ast.RecordSelectorTypeResolver.deduceRecordSelectorType(TypeResolver.TypeEnv env, Unifier.Variable vResult, Unifier.Variable vArg, Ast.RecordSelector recordSelector) private Pair<TypeResolver.TypeEnv, Unifier.Variable> TypeResolver.deduceStepType(TypeResolver.TypeEnv env, Ast.FromStep step, Unifier.Variable v, TypeResolver.TypeEnv env2, Map<Ast.Id, Unifier.Variable> fieldVars, List<Ast.FromStep> fromSteps) private Ast.ExpTypeResolver.deduceType(TypeResolver.TypeEnv env, Ast.Exp node, Unifier.Variable v) private AstNodeTypeResolver.deduceValBindType(TypeResolver.TypeEnv env, Ast.ValBind valBind, Map<Ast.IdPat, Unifier.Term> termMap, Unifier.Variable v, Unifier.Variable vPat) private voidTypeResolver.equiv(Unifier.Term term, Unifier.Variable atom) private Ast.ExpTypeResolver.infix(TypeResolver.TypeEnv env, Ast.InfixCall call, Unifier.Variable v) Registers an infix operator.private Ast.ExpTypeResolver.infix(TypeResolver.TypeEnv env, Ast.InfixCall call, Unifier.Variable v, Type type) Registers an infix operator whose type is a given type.(package private) TypeResolver.SubstTypeResolver.Subst.plus(TypeVar typeVar, Unifier.Variable variable) private Ast.ExpTypeResolver.prefix(TypeResolver.TypeEnv env, Ast.PrefixCall call, Unifier.Variable v) Registers a prefix operator.private <E extends AstNode>
ETypeResolver.reg(E node, Unifier.Variable variable, Unifier.Term term) TypeMap.TermToTypeConverter.visit(Unifier.Variable variable) Method parameters in net.hydromatic.morel.compile with type arguments of type Unifier.VariableModifier and TypeMethodDescriptionprivate Pair<TypeResolver.TypeEnv, Unifier.Variable> TypeResolver.deduceStepType(TypeResolver.TypeEnv env, Ast.FromStep step, Unifier.Variable v, TypeResolver.TypeEnv env2, Map<Ast.Id, Unifier.Variable> fieldVars, List<Ast.FromStep> fromSteps) private Unifier.TermTypeResolver.fieldRecord(Map<Ast.Id, Unifier.Variable> fieldVars) Constructors in net.hydromatic.morel.compile with parameters of type Unifier.VariableModifierConstructorDescription(package private)PlusSubst(TypeResolver.Subst parent, TypeVar typeVar, Unifier.Variable variable) privateTermVariable(Unifier.Term term, Unifier.Variable variable) -
Uses of Unifier.Variable in net.hydromatic.morel.util
Fields in net.hydromatic.morel.util with type parameters of type Unifier.VariableModifier and TypeFieldDescriptionfinal Map<Unifier.Variable, Unifier.Term> Unifier.Substitution.resultMapThe result of the unification algorithm proper.private final Map<String, Unifier.Variable> Unifier.variableMapMethods in net.hydromatic.morel.util that return Unifier.VariableModifier and TypeMethodDescriptionUnifier.variable()Creates a new variable, with a new name.Unifier.variable(int ordinal) Creates a variable, or returns an existing one with the same ordinal.Creates a variable, or returns an existing one with the same name.Methods in net.hydromatic.morel.util that return types with arguments of type Unifier.VariableModifier and TypeMethodDescription(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.VariableModifier and TypeMethodDescriptionvoidUnifier.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) intUnifier.Variable.compareTo(Unifier.Variable o) booleanUnifier.Sequence.contains(Unifier.Variable variable) booleanUnifier.Term.contains(Unifier.Variable variable) booleanUnifier.Variable.contains(Unifier.Variable variable) 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.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.TermVisitor.visit(Unifier.Variable variable) Method parameters in net.hydromatic.morel.util with type arguments of type Unifier.VariableModifier and TypeMethodDescriptionprivate voidMartelliUnifier.act(Unifier.Variable variable, Unifier.Term term, List<Unifier.TermTerm> termPairs, Unifier.Substitution substitution, Map<Unifier.Variable, Unifier.Action> termActions, int depth) Unifier.Sequence.apply(Map<Unifier.Variable, Unifier.Term> substitutions) Unifier.Term.apply(Map<Unifier.Variable, Unifier.Term> substitutions) Unifier.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) 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.MartelliUnifier.unify(List<Unifier.TermTerm> termPairs, Map<Unifier.Variable, Unifier.Action> termActions, Unifier.Tracer tracer) RobinsonUnifier.unify(List<Unifier.TermTerm> termPairs, Map<Unifier.Variable, Unifier.Action> termActions, Unifier.Tracer tracer) abstract Unifier.ResultUnifier.unify(List<Unifier.TermTerm> termPairs, Map<Unifier.Variable, Unifier.Action> termActions, Unifier.Tracer tracer) Constructor parameters in net.hydromatic.morel.util with type arguments of type Unifier.VariableModifierConstructorDescription(package private)Substitution(Map<Unifier.Variable, Unifier.Term> resultMap) privateSubstitutionResult(Map<Unifier.Variable, Unifier.Term> resultMap)