我不知道我的代码的类型结果。
例如,
我制作了一个代码
“maptree f(NODE(NODE(LEAF 3,LEAF 4),LEAF 5))”to
“maptree f(NODE(NODE(LEAF 6,LEAF 7),LEAF 8))”。
我的代码是
datatype 'a tree= LEAF of 'a | NODE of 'a tree * 'a tree;
fun f(x) = x+3;
fun maptree f(NODE (X,Y))= NODE (maptree f(X), maptree f(Y))
| maptree f(LEAF (X)) = LEAF (f X);
我希望('a - >'a) - > '一棵树 - > '一棵树。
但结果是('a - >'b) - > '一棵树 - > 'b tree。
我不知道为什么会这样。