问题如下:
data Scalar=type1()|type2()|...
data Expr=scalar(Scalar aType)| secondForm(..) | thirdForm(..) |..
case Expr ee:binaryOperation(Expr e1,Expr e2, Op opern):
//do something useful
如何指定条件来确定 e1 和 e2 的类型,并在以后采取措施,例如,
if(e1 != scalar(_)) //do something useful
if(e2 != scalar(_)) //do something useful