Exemple #1
0
        public override void DoUnify(TupleType var, Substitution substitution)
        {
            if (Arguments.Count != var.Arguments.Count)
            {
                throw TypeException.Create(this.Perform(substitution), var.Perform(substitution));
            }

            for (var i = 0; i < Arguments.Count; ++i)
            {
                Arguments[i].Perform(substitution).Unify(var.Arguments[i].Perform(substitution), substitution);
            }
        }
Exemple #2
0
 public virtual void DoUnify(Type that, Substitution substitution)
 {
     throw TypeException.Create(Perform(substitution), that.Perform(substitution));
 }