if (! specialp)
foreach (Xex a in args)
if (a.Eval (domain) == null)
- throw new Exception ("evaled to null");
+ throw new Exception (a + ":evaled to null");
result = builtin (args, domain);
Console.WriteLine (result);
return result;
public override string ToString ()
{
- return name;
+ string str;
+
+ if (builtin != null)
+ str = name;
+ else
+ {
+ str = "(" + name;
+ foreach (Xex a in lambda.args)
+ str += " " + a;
+ str += ")";
+ }
+ return str;
}
}
public abstract bool ValueP (object value);
- public override string ToString () { return name + "(" + type + ")"; }
+ public override string ToString () { return name + "=" + val; }
}
internal class VarInt : Variable
<expr>
<defun fname="temp">
<args>
- <const type="symbol">x</const><const type="symbol">y</const>
+ <variable vname="x"/><variable vname="y"/>
</args>
<body>
<add><variable vname="x"/><variable vname="y"/></add>