public override MSet <string> FreeVars() { var fv1 = Expr.FreeVars().Union(ElseExpr.FreeVars()); var fv2 = Guard.FreeVars().Union(ThenExpr.FreeVars()); var fv3 = fv2.Diff(Pat.FreeVars()); return(fv1.Union(fv3)); }
public override MSet <string> FreeVars() { return(Pat.FreeVars().Union(new MSet <string>(Name))); }
public override MSet <string> FreeVars() { return(Pat.FreeVars()); }
public override MSet <string> FreeVars() { return(E1.FreeVars().Union(E2.FreeVars().Diff(Pat.FreeVars()))); }