使用sml反映树

时间:2013-01-18 06:03:12

标签: reflection tree functional-programming sml

该类型应为mobile-> mobile

其中

datatype mobile = int的对象|移动电话*移动电话

代码给了我错误构造函数和参数不同意模式和运算符和操作数不同意

fun reflect  (Object v) = Object v
   | reflect (Wire(x,t1,t2)) = Wire(x,reflect t2,reflect t1);

1 个答案:

答案 0 :(得分:2)

错误消息非常具有说明性。 Wire构造函数有2个参数,而Wire函数中reflect提供3个参数。

更正后的版本:

fun reflect (Object v) = Object v
  | reflect (Wire(t1,t2)) = Wire(reflect t2,reflect t1)