public IEnumerable <Stream> Walk(Stream input) { foreach (Stream stream in this.eq.Walk(input)) { return(Conjs.WalkConjs(this.rule.conditions.ToArray(), input)); } return(Enumerable.Empty <Stream>()); }
public IEnumerable <Stream> WalkGoal(Pair[] vars, Stream input) { Goal[] goals = new Goal[1 + this.conditions.Count]; goals[0] = new Eqs(vars, this.vars); for (int i = 1; i < this.conditions.Count + 1; i++) { goals[i] = this.conditions[i - 1]; } return(Conjs.WalkConjs(goals, input)); }